我在Spring Boot 2.0.5版本的Java项目中使用log4j2。
运行测试逻辑以每4秒记录一行。使用CronTriggeringPolicy将log4j2配置为每30秒翻转一次。
配置的CronTriggeringPolicy不会始终滚动日志文件。 Screenshot of log directory
如屏幕截图所示,debug-103400.log和debug-103700.log文件丢失。
这是我的配置:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
<Properties>
<Property name="logsPath">./logs</Property>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS zzz} [%p] %l: %msg%n"/>
</Console>
<RollingFile name="File"
filePattern="${logsPath}/debug-%d{HHmmss}.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS zzz}\t%p\t%l\t%t\t%msg%n" />
<Policies>
<CronTriggeringPolicy schedule="0/30 * * ? * * *"/>
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="Console" level="debug" />
<AppenderRef ref="File" level="info" />
</Root>
</Loggers>
</Configuration>