log4cplus:DailyRollingFileAppender 配置/MaxBackupIndex 不起作用
Posted
技术标签:
【中文标题】log4cplus:DailyRollingFileAppender 配置/MaxBackupIndex 不起作用【英文标题】:log4cplus: DailyRollingFileAppender config/MaxBackupIndex not working 【发布时间】:2014-04-04 14:25:40 【问题描述】:对运行 dcmtk(DICOM 工具包)操作的 bash 脚本使用 log4cplus 配置文件。日志记录有效,并在脚本运行的每分钟创建一个新日志(配置文件中的每“分钟”)。 “分钟”用于测试目的,一旦我知道它按预期工作,它就会变成每天。 (我不想等几天看看是否会轮换和删除)
问题在于 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 个日志文件期间,而不是在“计划”指定的期间内最多 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
谢谢--丰富
【问题讨论】:
【参考方案1】:“此属性限制每个记录周期保留多少备份文件;例如保留多少 log.2009-11-07.1、log.2009-11-07.2 等文件。”
这就是它一直以来的方式。这是历史行为。我建议只使用RollingFileAppender
。
【讨论】:
以上是关于log4cplus:DailyRollingFileAppender 配置/MaxBackupIndex 不起作用的主要内容,如果未能解决你的问题,请参考以下文章