log4cplus配置文件,文件最大大小不起作用

时间:2012-11-26 12:01:09

标签: logging log4cplus

我已经为log4cplus创建了一个配置文件,但它的工作原理却不起作用,但MaxFileSize没有做任何事情,所以我的文件不断增长而不考虑我的限制。 这是我的代码:

### logs.properties

# root logger

log4cplus.rootLogger=INFO, Main

# specific logger

log4cplus.logger.myloggerINFO, Main
log4cplus.additivity.mylogger=false

# appender that automatically rolls files

log4cplus.appender.Main=log4cplus::DailyRollingFileAppender
log4cplus.appender.Main.Schedule=DAILY
log4cplus.appender.Main.File=mylogs.log
log4cplus.appender.Main.Append=true
log4cplus.appender.Main.MaxBackupIndex=100
log4cplus.appender.Main.MaxFileSize=100KB
log4cplus.appender.Main.layout=log4cplus::PatternLayout
log4cplus.appender.Main.layout.ConversionPattern=%D | %-5.5p | %-20.20c | %m|%n

log4cplus.logger.myLoggerName=DEBUG, R2
log4cplus.appender.R2=log4cplus::RollingFileAppender
log4cplus.appender.R2.File=logs/webaccess.log
log4cplus.appender.R2.Append=true
log4cplus.appender.R2.MaxBackupIndex=5
log4cplus.appender.R2.MaxFileSize=5KB 
log4cplus.appender.R2.layout=log4cplus::PatternLayout
log4cplus.appender.R2.layout.ConversionPattern=%D | %-5.5p | %-20.20c | %m|%n

这是我得到的文件列表的示例:

webaccess.log | 7kb even if max=5
mylogs.log    | 0
mylogs.log.2012-11-26 | 1k
mylogs.log.2012-11-26.1   |1k
...
mylogs.log.2012-11-26.45  | 1k 
he create new files even if max=100k 

所以如果你看错了,请告诉我 感谢

1 个答案:

答案 0 :(得分:2)

Log4cplus'DailyRollingFileAppender不会观察MaxFileSize属性。目前,无论是按时间还是按大小选择滚动日志文件,都不能同时使用两者。

编辑1:

appender R2不起作用,因为允许的MaxFileSize值有一个下限:const long MINIMUM_ROLLING_LOG_SIZE = 200*1024L;这是200 KiB。它从log4cplus源码开始(或真的很长),我从来没有觉得需要删除限制。