使用log4j存档以前的日志文件

时间:2012-11-23 07:03:32

标签: java logging log4j

我目前正在使用rollingFileAppender并及时滚动文件。

我想根据日期滚动日志文件,以便每天有一个日志文件。 (我假设可以使用dailyRollingFileAppender完成此操作。)

此外,我想存档以前的日志文件,以便我将日志文件解压缩15天,再存档15天,以便一个压缩文件包含15天的日志文件。

我可以单独使用log4j.properties进行配置吗?

2 个答案:

答案 0 :(得分:1)

外部选项是“logrotated”,其中包含执行所需操作的规则。示例conf文件可以在/etc/logrotate.d/*中获得。例如:

cat /etc/logrotate.d/dpkg    
/var/log/dpkg.log {
    monthly
    rotate 12
    compress
    delaycompress
    missingok
    notifempty
    create 644 root root
}
/var/log/alternatives.log {
    monthly
    rotate 12
    compress
    delaycompress
    missingok
    notifempty
    create 644 root root
}

答案 1 :(得分:1)

为此,您可以使用crontab并安排它来存档或压缩日志文件。

您可以在crontab文件中执行类似的操作 -

0 0 15 * * find /your-folder -name '*trace.log' -mtime -15 | xargs gzip -v9