回退无法正确清理文件



我正在使用Logback来管理服务器上的日志。我将RollingFileAppenderTimeBasedRollingPolicy一起使用:

<appender name="file-appender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/server/logs/error.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${defaultPattern}</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- hourly rollover -->
<fileNamePattern>/server/logs/history/%d{yyyy-MM-dd,aux}/error.%d{yyyy-MM-dd_HH}.log.zip</fileNamePattern>
<maxHistory>168</maxHistory> <!--7Days-->
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>    
</appender>

我将maxHistory设置为 168 以将日志保留 7 天(每小时一个文件,每天 24 个文件 = 168 个文件(。

history文件夹中查找,我希望找到过去七天的子苣,每个文件夹中都有 24 个压缩日志文件(除了当前和最旧的(。

但是有 76 个文件夹可以追溯到大约 4 个月前。有些日子没有文件夹,许多文件夹每小时不包含zip文件。但history树中总共有 1000 多个 zip 文件。

所以有某种清理,但似乎有些文件很晚才清理。我的配置有什么问题?我正在使用版本logback-classic-1.2.3。

我还没有以这种方式使用滚动策略。我会像这样实现它:

<fileNamePattern>/server/logs/history/error.%d{yyyy-MM-dd_HH}.log.zip</fileNamePattern>

另请参阅此线程

最新更新