log4cplus:DailyRollingFileAppender config / MaxBackupIndex无效

时间:2014-04-04 14:25:40

标签: logging log4cplus dcmtk

将log4cplus配置文件用于运行dcmtk(DICOM工具包)操作的bash脚本。日志记录工作,并在脚本运行的每一分钟创建一个新日志(在配置文件中按“每分钟”)。 “微小”是用于测试目的,一旦我知道它按预期工作就会变成每天。 (我不想等几天看看是否会轮换和删除)

问题是MaxBackupIndex设置为5.我在日志目录中有12个日志文件。在阅读API文档时......

“此属性限制每个记录周期保留的备份文件数量;例如保留多少log.2009-11-07.1,log.2009-11-07.2等文件。”

如果我正确阅读,只要有五个或更少的“dcmtk.log.2014-04-04-09-41”文件,它们就不会被删除......

当然,少于5个,因为我已将其配置为每分钟只创建一个,无论大小。

我认为拥有“MaxBackupIndex = 5”意味着最多有5个日志文件周期,而不是“Schedule”指定的时间段内最多5个日志文件。最后,我希望能够将MaxBackupIndex的数量设置为x,并且只有x个文件...。

任何有助于理解这一点或让轮换实际上最多有5个日志的帮助将不胜感激。

这是我的配置文件:

log4cplus.rootLogger = INFO, logfile
# log debug messages to a log file (with automatic rotation) 
log4cplus.appender.logfile = log4cplus::DailyRollingFileAppender
log4cplus.appender.logfile.File = /securerad/logs/dcmtk.log
log4cplus.appender.logfile.Append = true
log4cplus.appender.logfile.ImmediateFlush = true
log4cplus.appender.logfile.Schedule = minutely
log4cplus.appender.logfile.MaxBackupIndex = 5

谢谢--Rich

1 个答案:

答案 0 :(得分:0)

  

"此属性限制每个记录周期保留的备份文件数量;例如保留了多少log.2009-11-07.1,log.2009-11-07.2等文件。"

这就是它一直以来的方式。这是历史行为。我建议只改用RollingFileAppender