关于logback框架保留日志自动删除维度的说明

<appender name="TIME_BASED_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>c:/logs/timeBasedlogFile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">        
        <fileNamePattern>c:/logs/timeBasedlogFile.%d{yyyy-MM-dd_HH}.log</fileNamePattern>
        <maxHistory>10</maxHistory>
    </rollingPolicy>
    <encoder>
        <pattern>%relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
</appender> 

正常看这里的<maxHistory>10天是可以的,但是这个是基于滚动保存的文件是按照天来计算的情况下,如果出现<fileNamePattern>配置的的{yyyy-MM-dd_HH}按小时来滚动,那么实际删除的就是10小时后的文件。

出现这种情况是因为框架逻辑理解过来本质提供的是删除多少个文件

感兴趣的可以看下TimeBasedArchiveRemover这个类,里面的clean()有根据滚动的时间维度来计算的逻辑。

看到这么多人查看,看来大家都遇到了一样的问题。

总结起来就是:当发现使用logback框架进行自动日志删除跟计划的不一样时,使用TimeBasedRollingPolicy滚动生成日志文件方法的,<maxHistory>一律按照生成了多少个文件进行删除就可以了,大概计算下自己需要保留多少的日志文件来配置就可以了。

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值