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 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

log4cplus 直接创建logger 对象

使用Log4Cplus+配置文件打印日志

Maya 2013启动显示log4cplus等错误,不知道对Maya的使用有啥影响,怎么解决?

log4cplus在项目中的使用

180325-log4cplus

log4cplus使用-日志重定向