如何删除N天前的log4j日志

如题所述

您好,很高兴为您解答。

1. 如果您使用的是Log4j,且采用的RollingFileAppender方式,
通过设置maxBackupIndex属性来指定要保留的日志文件数的最大值可以间接实现删除N天前的日志文件。


2. 如果您使用的是Log4j,且采用的DailyRollingFileAppender方式,由于该方式不支持maxBackupIndex,需要重新实现DailyRollingFileAppender,用以支持maxBackupIndex的设置。


3. 如果您使用的是logback,可以通过设置maxHistory实现删除N天前的日志。


4. 可以通过Linux的cron job实现定期删除文件,具体如下

# cd /etc/cron.daily

# vi logcron

输入如下内容

#!/bin/sh

find /logs -type f -ctime +30 | xargs rm -rf (这里实现了删除30天之前文件的命令)

然后保存该文件,最后执行如下命令给该文件服务可执行权限

# chmod +x /etc/cron.daily/logcron


如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

                                                                                                                            ~ O(∩_∩)O~

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答