我们在应用程序中遇到了一些logback设置问题(配置为从IBM MQ manager接收消息的JMS应用程序)。无论何时查看大小设置,它每两小时滚动到新文件。 但是对于像Fiorano这样的其他一些MQ经理来说,时间更糟糕,每隔几KB就会滚动到新文件,并且应用程序没有停止记录,这意味着没有2小时失效。
下面是logback.xml。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="FILEDEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>mylogfile.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>mylogfile.%d{yyyy-MM-dd HH-mm}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
<prudent>true</prudent>
</appender>
<logger name="com.base22" level="TRACE"/>
<root level="info">
<appender-ref ref="FILEDEBUG" />
</root>
<logger name="org.springframework.transaction.jta">
<level value="OFF"/>
</logger>
</configuration>
问题:在最新的logback版本中是否有办法配置翻转时间或根据时间停止翻转?以及如何在fiorano MQ管理器的情况下控制行为。
答案 0 :(得分:1)
配置文件:
<?xml version="1.0" ?>
<configuration>
<!-- CONSOLE IF REQUIRED -->
<!--
<appender class="ch.qos.logback.core.ConsoleAppender" name="CONSOLE">
<encoder>
<pattern>[%p] [%thread] %logger - %msg%n</pattern>
</encoder>
</appender>
-->
<appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILE">
<File>log/server.log</File>
<Append>true</Append>
<BufferedIO>true</BufferedIO>
<ImmediateFlush>false</ImmediateFlush>
<encoder>
<pattern>%d{ISO8601} [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/server_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
<!-- up to 10 GB max -->
<totalSizeCap>10GB</totalSizeCap>
</rollingPolicy>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
<logger name="Main">
<level value="DEBUG" />
</logger>
<logger name="org.apache">
<level value="INFO"/>
</logger>
<logger name="ch.qos">
<level value="WARN"/>
</logger>
</configuration>
以下版本协同工作:
运行虚拟测试(2M日志记录)之后的日志文件夹:
1,947,777 server.log
10,486,143 server_2016-04-28.0.log
10,485,760 server_2016-04-28.1.log
10,485,760 server_2016-04-28.10.log
10,485,760 server_2016-04-28.11.log
10,485,760 server_2016-04-28.2.log
10,485,760 server_2016-04-28.3.log
10,485,760 server_2016-04-28.4.log
10,485,760 server_2016-04-28.5.log
10,486,272 server_2016-04-28.6.log
10,485,760 server_2016-04-28.7.log
10,485,760 server_2016-04-28.8.log
10,485,760 server_2016-04-28.9.log
希望它有所帮助。