Logback 版本 1.2.3
我想在我们的 logback 配置文件 (logback.xml) 中使用 SizeAndTimeBasedRollingPolicy,但此时 SizeAndTimeBasedRollingPolicy 无法按预期运行。(https://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy)
理想情况下,我想保留不迟于前的日志。90 天,每个文件不超过 100MB,总存档大小为 ex。总共10GB。
就目前而言,totalSizeCap 应用于 MaxHistory 范围内的每个条目。前任。
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>mylog.txt</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>mylog-%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
<!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
<maxFileSize>100MB</maxFileSize>
<maxHistory>60</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
上述 XML 配置将创建跨越 60 天的日志,每天应用 1GB 的 totalSizeCap。这将导致总存档大小为 60GB,而不是预期的 1GB。如果在一天中达到了 totalSizeCap,当天的日志将通过删除当天最旧的文件开始翻转,这将在日志历史记录中产生间隙,这是我们不希望的。解决此错误的方法是使用年度翻转,而不是每日或每月翻转,不幸的是,当使用 SizeAndTimeBasedRollingPolicy 时,年度翻转不起作用。
有谁知道这个问题,这个问题已经解决了,还是我在配置中做错了什么?