gpt4 book ai didi

java - Logback 无法正确清理文件

转载 作者:行者123 更新时间:2023-12-02 10:49:56 36 4
gpt4 key购买 nike

我正在使用 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 文件夹,我希望找到过去 7 天的子目录以及每个子目录中的 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>

另请参阅this thread

关于java - Logback 无法正确清理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52254930/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com