你所不知道的细节 - RollingFileAppender文件切换的确切时机

日志滚动是log4j简单好用的功能,只需要简单配置一个RollingFileAppender就可以了。在使用RollingFileAppender的时候,大家都会以为,日志将在临晨零时作日志切换,原来的日志文件被改名,新的日志文件被创建。这是个很合理的“想当然”推断。

但是事实不是这样的。日志的切换并不一定发生在零点,而是发生在:次日第一条日志写入的时候。网上几乎查不到RollingFileAppender日志文件切换的准确描述,基本上都是“想当然”的版本。

发现这个细节,完全出自巧合。一个被配置为日滚动的配置文件被一个清理老旧日志的脚本无端删除。我原本的想法是,由于配置了日滚动,那么文件将在每天零时被切换,那么最新的日志文件总是保持“新鲜”。“新鲜”的文件是不应该被删除的!后来却发现,原来这个日志文件自被创建以来就没有新的日志被写入,没有触发日志文件切换所致。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值