使用log4j删除旧文件

时间:2014-02-05 13:41:05

标签: java logging log4j

在我的应用程序中,我使用库log4j生成整个系统的日志。工作正常,请使用以下设置:

将日志消息直接发送到日志文件:

log4j.appender.file = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.file.File = log / aplicacao.log 
log4j.appender.file.DatePattern = '.' yyyy-MM-dd 
log4j.appender.file.layout = org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern =% d {MM-dd-yyyy, HH: mm: ss: SSS},% t,%-5p,% c {1}:% L-% m% n 
log4j.appender.file.MaxFileSize = 50KB 
log4j.appender.file.MaxHistory = 2 

我想知道是否有一些属性可以清除已经超过一周的旧文件,因为如果我的系统长时间运行则占用大量内存是不可行的,因为我开发的应用程序是用于很老的机器上。

这有什么解决方案吗? Maxfilesize和MaxHistory添加了属性,但它不起作用。

1 个答案:

答案 0 :(得分:0)

只有使用数字文件模式(file,file.0,file.1,...,file.N)时,

MaxHistory才会执行您想要的操作。它不适用于基于日期的文件模式。

如果您不想在日志文件名中放弃日期模式,那么您的下一个选择是cron job,它会搜索旧日志文件并删除它们。所有操作系统都支持这种方式。