我有一个log4j配置,打算每天滚动一次文件。它与log4j-2.17.0和2.17.1一起工作得很好。当我更新到最新版本2.17.2时,每天的日志停止滚动。
这里是我的log4j.properties:
log4j.rootLogger=INFO, A2
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.threshold=debug
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d [%t] %-5p - %m%n
log4j.appender.A2.DatePattern='.'MMdd
log4j.appender.A2.File=c:/test/log/test.log
log4j.appender.A2.filePattern=c:/test/log/test.log.%d{MMdd}
我添加的2个开关是-Dlog4j.configuration=C:/test/log4j.properties和-Dlog4j1.compatibility=true
有人知道为什么从log4j-2.17.1升级到log4j-2.17.2时,它会停止每天滚动吗?我需要做什么修改才能让它与2.17.2一起工作?
1条答案
按热度按时间vlurs2pr1#
Log4j 1.x中的
RollingFileAppender
(参见javadoc)从不支持基于时间的旋转,也不支持datePattern
和filePattern
属性。Log4j 1.x桥接器2.17.1有一个错误,导致基于时间和基于大小的旋转发生(参见this question)。这在版本2.17.2中得到了修复。
如果要基于时间的旋转,则需要:
DailyRollingFileAppender
:RollingFileAppender
:在这两种情况下都将使用Log4j2
RollingFileAppender
,但如果使用Log4j2配置文件,则可以访问附加器的所有配置选项。