使用 rollingfileappender 限制翻转文件的数量

limiting number of rollover files using rollingfileappender

我正在使用 log4j extras 使用以下配置记录我每天的轮换:

log4j.appender.abclog=org.apache.log4j.rolling.RollingFileAppender  
log4j.appender.abclog.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy  
log4j.appender.abclog.rollingPolicy.ActiveFileName=/opa/abc-home/logs/xyz-abc_t.log  
log4j.appender.abclog.rollingPolicy.FileNamePattern=/opa/abc-home/logs/xyz-abc_t-.%d{yyyyMMdd}.log.gz  
log4j.appender.abclog.layout=org.apache.log4j.PatternLayout  
log4j.appender.abclog.layout.ConversionPattern=%d [%t] %-5p (%F:%L) - %m%n  

但是,我在使用 MaxBackupIndex 限制翻转文件的数量时遇到了问题。有人可以帮忙吗

不幸的是,使用 log4j 的标准 API 甚至附加功能 1.

但是,您可以使用 class org.apache.log4j.DailyMaxRollingFileAppender 2,例如:

log4j.appender.abclog=org.apache.log4j.DailyMaxRollingFileAppender
log4j.appender.abclog.File=/opa/abc-home/logs/xyz-abc_t.log
log4j.appender.abclog.maxBackupIndex=10
log4j.appender.abclog.DatePattern='.'yyyyMMdd
log4j.appender.abclog.layout=org.apache.log4j.PatternLayout  
log4j.appender.abclog.layout.ConversionPattern=%d [%t] %-5p (%F:%L) - %m%n  

备注

  1. Apache Extras™ for Apache log4j™ http://logging.apache.org/log4j/extras/
  2. Custom DailyRollingFileAppender with MaxBackupIndex中查看此class的代码。