logback maxhistory

最近要用的logback 自动删除功能,经过测试和查看源代码发现

maxhistory指的是删除时间格式最小单位的前多少分/小时/天...的文件,

而且只是删除单个文件,假如删除前3分钟的文件,前四分钟的文件不会删除哦,及时文件名格式符合要求。


  @Override
  public void clean(Date now) {
    Date dateOfPeriodToClean = rc.getRelativeDate(now, periodOffsetForDeletionTarget);


     // 是具体到那个时间点的,例如:2015-07-04_13:28.log
    String regex = fileNamePattern.toRegex(dateOfPeriodToClean);
    String stemRegex = FileFilterUtil.afterLastSlash(regex);
    File archive0 = new File(fileNamePattern.convertMultipleArguments(
        dateOfPeriodToClean, 0));


    File parentDir = archive0.getParentFile();
    File[] matchingFileArray = FileFilterUtil.filesInFolderMatchingStemRegex(
        parentDir, stemRegex);


    for (File f : matchingFileArray) {
      f.delete();
    }


    if (parentClean) {
      removeFolderIfEmpty(parentDir, 0);
    }
  }

配置文件



<appender name="MONITER_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${moniter.log.path}/monitor_message.%d{yyyy-MM-dd_HH:mm}.log
</fileNamePattern>
<maxHistory>120</maxHistory>

</rollingPolicy>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值