2016-12-01 2001 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。你需要升級。