将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
答案 0 :(得分:0)
"此属性限制每个记录周期保留的备份文件数量;例如保留了多少log.2009-11-07.1,log.2009-11-07.2等文件。"
这就是它一直以来的方式。这是历史行为。我建议只改用RollingFileAppender
。