1

我已经为 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 

所以如果你发现有什么问题请告诉我谢谢

4

1 回答 1

2

Log4cplus 的 DailyRollingFileAppender 没有观察到MaxFileSize属性。目前,您选择按时间或按大小滚动日志文件,您不能同时拥有两者。

编辑1:

附加程序R2不起作用,因为允许MaxFileSize值有一个下限:const long MINIMUM_ROLLING_LOG_SIZE = 200*1024L;这是 200 KiB。它从一开始(或很长)就在 log4cplus 源中,我从未觉得需要删除限制。

于 2012-11-26T14:03:57.993 回答