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>
。您需要升级。
我有下面提到的 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
我是否缺少任何配置?
<totalSizeCap>
。您需要升级。