我们正在使用带有 logback 的非常基本的每日滚动配置,它似乎无法正常运行。应用程序通常在午夜后的第一分钟创建滚动(前一天)文件。文件名的 yyyyMMdd 分数是前一天的,这是正确的。但是日志中的消息不是来自前一天而是来自新的一天,只有 30-40 秒!例如,bim.2013-08-21.log文件包含时间戳从2013.08.22 00:00:00到2013.08.22 00:00:42的记录。并且前一天的所有消息都会丢失。此外,在中午开始滚动时有一些“幸运”例外,例如 16:00,因此我们滚动了更多记录 - 从当天开始。
Logback 版本是 1.0.13 logback-test.xml :
<configuration scan="true" scanPeriod="10 minutes">
<contextName>bim</contextName>
<property name="LOG_DIR" value="/usr/share/apache-tomcat-7.0.41/logs" />
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %m \(%logger{36}:%L\)%n</pattern>
</encoder>
</appender>
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_DIR}/bim.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>${LOG_DIR}/bim.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>5</maxHistory>
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %m \(%logger{36}:%L\)%n</pattern>
</encoder>
</appender>
<logger name="com.bim" level="DEBUG" />
<logger name="org.springframework.web.servlet.mvc.support" level="WARN" />
<logger name="org.springframework.web.servlet.mvc.annotation" level="WARN" />
<root level="INFO">
<!--appender-ref ref="console" /-->
<appender-ref ref="file" />
</root>
我通过搜索没有发现任何类似问题的痕迹,因此将不胜感激。