Logging log4cplus:DailRollingFileAppender配置/MaxBackupIndex不工作

Logging log4cplus:DailRollingFileAppender配置/MaxBackupIndex不工作,logging,log4cplus,dcmtk,Logging,Log4cplus,Dcmtk,对运行dcmtk(DICOM工具包)操作的bash脚本使用log4cplus配置文件。日志记录工作正常,并且脚本每运行一分钟(在配置文件中每“分钟”创建一个新日志)。“minutely”用于测试目的,一旦我知道它按预期工作,它将变成每天一次。(我不想等上几天看是否会轮换和删除) 问题在于MaxBackupIndex设置为5。日志目录中有12个日志文件。在阅读API文档时 “此属性限制每个日志记录期间保留的备份文件数量;例如,保留的日志.2009-11-07.1、日志.2009-11-07.2等文

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

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

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

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

当然少于5个,因为我已经将它配置为每分钟只创建一个,而不管大小

我认为“MaxBackupIndex=5”意味着在“Schedule”指定的时间段内最多有5个日志文件,而不是最多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
谢谢,里奇

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

这就是一直以来的情况。这是历史行为。我建议只使用
RollingFileAppender