java定时删除日志文件_[Java教程]基于Log4j完成定时创建和删除日志的方法

本文介绍了如何基于Log4j实现定时创建和删除日志的策略,由于Log4j的DailyRollingFileAppender不支持自定义清理规则,因此通过继承FileAppender并重写RollOver函数,实现按时间顺序清理历史日志的功能。同时,文章详细讲解了Log4j的配置,包括日志级别、输出目的地、输出格式等。
摘要由CSDN通过智能技术生成

[Java教程]基于Log4j完成定时创建和删除日志的方法

0 2017-03-05 00:00:21

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1.背景

Log4j作为常用的日志生成工具,其清楚日志的策略缺十分有限。只有在RollingFileAppender中可以通过设置MaxFileSize和maxBackupIndex属性来指定要保留的日志文件大小以及个数,从而实现自动清除。

bc91bb04e6e9c61e24c974e4440db8f2.gif

但是实际生产中,我们的真实的需求常常是定时生成日志,然后保留最近几天的日志,历史日志需要及时清理。可是Log4j中的DailyRollingFileAppender这个类却不带属性maxBackupIndex,maxFileSize等,所以无法通过直接配置实现。

针对这种情况,一般方法是写一个定时删除日志的脚本等,这里我们讨论一种通过继承FileAppender,重新实现DailyRollingFileAppender类,并且带有按时间顺序清理日志的功能。

2.具体实现

2.1代码实现

a.完成自定义的日期类和文件过滤类,为进行文件命名和查找做准备。

bc91bb04e6e9c61e24c974e4440db8f2.gif

bc91bb04e6e9c61e24c974e4440db8f2.gif

b.继承FileAppender类,定义好文件输出日期格式以及文件备份参数。

bc91bb04e6e9c61e24c974e4440db8f2.gif

c.重写核心的RollOver函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值