gpt4 book ai didi

java - 回退 : SizeAndTimeBasedRollingPolicy not deleting files with 4 digit "%i"

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:05:53 26 4
gpt4 key购买 nike

我们在产品中使用 SizeAndTimeBasedRollingPolicy/SizeAndTimeBasedFNATP (logback 1.1.3)。这是来自 logback 配置文件的片段:

<appender name="SERVER_FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${MY_LOGS}/myabc.log</file>
<append>true</append>
<!--
Roll log file on both time (per day) and size (250mb). Gzip on roll.
-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- location and name of rolled log files -->
<fileNamePattern>${MY_LOGS}/myabc-%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
<!-- keep 30 days worth of history -->
<maxHistory>30</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- whenever the file size reaches 250MB, roll it -->
<maxFileSize>250MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSS} [%thread] %-5level %logger{24} [%C{1}.%M]</pattern>
</encoder>
</appender>

生成的日志文件具有以下名称:myabc-2016-11-21.0.gz、myabc-2016-11-21.1.gz、myabc-2016-11-21.2.gz 等

问题是如果日志文件的扩展名 (%i) 超过 3 位,则它不会在 30 天后被删除 (maxHistory)。例如,myabc-2016-11-21.0.gz 在 30 天后被删除,但 myabc-2016-11-21.1000.gz 不会被删除。

是否有任何其他附加程序/配置我需要添加到 logback 配置文件以确保扩展名超过 3 位的文件也被删除,或者它是 logback 中的错误?

[我试过 logback 1.1.7,但没有用]

最佳答案

我也有同样的问题,查看了logback源码(1.2.3版本)

包 - ch.qos.logback.core.rolling.helper

并找到这一行buf.append("(\\d{1,3})");

因此它被硬编码为 1-3 位整数,其中 1000 超过此间隔并且索引超过 1000 的新日志文件不会替换旧日志文件,而是继续附加到文件系统。

关于java - 回退 : SizeAndTimeBasedRollingPolicy not deleting files with 4 digit "%i",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40144806/

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