logback 中的 totalSizeCap 似乎没有按预期工作

totalSizeCap in logback doesn't seem to be working as expected

我有下面提到的 logback 文件。 我想删除任何超过 2 天的日志,或者如果日志的大小超过 500KB。

按预期删除超过 2 天的日志。但是,超过 500KB 的日志不会被删除 。我也尝试使用 ch.qos.logback.core.rolling.TimeBasedRollingPolicy,但行为是一样的。

<property name="DEV_HOME" value="/home/kishore/test/logs" />

<appender name="INFO_LOG"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- <file>/home/kishore/test/logs/info.log</file> -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>
                 ${DEV_HOME}/info-%d{yyyy-MM-dd}.log
            </fileNamePattern>
            <totalSizeCap>500KB</totalSizeCap>
            <maxHistory>2</maxHistory>
        </rollingPolicy>
        <encoder>
            <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
            </Pattern>
        </encoder>
    </appender>

我也试过指定<maxFileSize>100KB</maxFileSize><fileNamePattern>${DEV_HOME}/info-%d{yyyy-MM-dd}.%i.log,所以日志会被拆分成多个文件,每个100KB。 它按预期拆分,但在所有日志的总大小超过 500 KB 后,这些部分 .0、.1 等都不会被删除。

logback 版本:1.1.3

我是否缺少任何配置?

v1.1.7 中添加了

<totalSizeCap>。您需要升级。