Мое java-приложение, которое работает на tomcat, генерирует файлы журнала, используя logback. Мой логбэк имеет TimeBasedRollingPolicy.
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>output.log</fileNamePattern>
<maxHistory>200</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>200MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
А затем logstash читает эти файлы и отправляет им кафки. Конфигурация logstash выглядит следующим образом.
input {
file {
path => "output.log"
exclude => "*.gz"
file_sort_by => "last_modified"
file_sort_direction => "asc"
max_open_files => 3
close_older => "3 sec"
sincedb_clean_after => "6 hour"
start_position => "beginning"
discover_interval => "1"
}
}
Проблема заключается в том, что после перезапуска tomcat logstash не может найти новый файл output.log . Если файл output.log вращается (тот же самый индекс), при входе в систему создается новый файл output.log . (разные inode) Это не происходит каждый раз при перезапуске tomcat.
У кого-нибудь есть идеи по этой проблеме или есть опыт, подобный мне?