Иногда, когда я запускаю свое Java-приложение, logback отказывается что-либо записывать в мой лог-файл. Иногда он также отказывается откатывать файл журнала в полночь (или при первом событии регистрации после полуночи), что приводит к тому, что события регистрации теряются в пустоте. Когда я смотрю на мой основной файл журнала, когда logbacks не удалось обработать журнал, у него будет время, подобное 23:59, со вчерашней датой, и любые и все операторы регистрации после этого времени будут безвозвратно потеряны. У меня довольно простой файл конфигурации, и он выглядит правильно. Это, безусловно, должно быть правильным, поскольку оно работает большую часть времени.
Вот мой файл конфигурации:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--See http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
<!--and http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy-->
<!--for further documentation-->
<append>true</append>
<File>aggregator.log</File>
<encoder>
<!-- was: %d{yyyy-MM-dd HH:mm:ss}%5p [%t] (%F:%L) - %msg%n -->
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] \(%class{25}:%line\) - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- By setting the name to .gz here, we get free compression. -->
<fileNamePattern>aggregator.log.%d{yyyy-MM-dd}.gz</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] \(%class{25}:%line\) - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="file"/>
<appender-ref ref="console"/>
</root>
</configuration>
К сожалению, я не могу надежно воспроизвести эту ошибку, поэтому ее отладка немного сложна. Может ли кто-нибудь сказать мне, что я делаю неправильно, или в чем еще может быть проблема? Если это поможет, я перенаправлю STDOUT и STDERR в / dev / null (я работаю на Linux, кстати).