当我迁移到log4j2时,我已经将Tomcat Web应用程序配置为使用Log4j 1.x桥。https://logging.apache.org/log4j/2.x/manual/migration.html
我继续使用现有的log4j.properties文件,该文件如下所示:
log4j.rootLogger=INFO, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/var/log/mylog.out
log4j.appender.file.MaxFileSize=10KB
log4j.appender.file.MaxBackupIndex=2
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ISO8601} %-5p %t %c - %m%n
这成功地创建了我的日志文件,并在10KB时滚动。
我遇到了一个无法解释的问题。以下是我的日志目录中的文件:
-rw-r----- 1 root root 7.6K Jan 10 12:27 test.log
-rw-r----- 1 root root 11K Jan 10 12:27 test.log.1
-rw-r----- 1 root root 36K Jan 10 12:27 test.log.2
-rw-r----- 1 root root 11K Jan 10 12:27 test.log2022-01-10
我得到了一个以当天命名的日志文件。我做过实验,看起来RollingFileAppender在每天结束时也在滚动。在使用桥之前它没有这样做。知道为什么会发生这种情况以及如何阻止它吗?
1条答案
按热度按时间aor9mmx11#
编辑:这是一个错误,在版本2.17.2中为fixed。
这是一个bug,你应该报告它。
RollingFileAppenderBuilder
(参见源代码)有一个包含日期而不是数字的filePattern
:因此它的行为更像是
DailyRollingFileAppender
,而不是Log4j 1.xRollingFileAppender
。作为一种解决方法,您可以通过设置以下系统属性来使用旧版
Log4j1ConfigurationFactory
: