2016-12-01 2007 views
1

我有下面提到的logback文件。 我想删除任何2天以前的日志,或者日志大小超过500KB。logback中的totalSizeCap似乎没有按预期工作

按预期删除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

我是否缺少配置?

回答

1

<totalSizeCap>被添加进v1.1.7。你需要升级。