2017-01-04 72 views
0

我想每小時輪換一次日誌文件,並在它們被替換之前保留n天。比如說2天,這意味着如果不滿足totalSizeCap,我應該看到48個日誌文件。如何配置Logback以每小時轉動文件n天。

<appender name="missing_fields" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
<file>logs/missing_fields.log</file> 
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
    <fileNamePattern>logs/missing_fields_%d{yyyyMMdd-HH}.log</fileNamePattern> 
    <maxHistory>**48**</maxHistory> 
    <totalSizeCap>1GB</totalSizeCap> 
</rollingPolicy> 
<encoder> 
    <pattern>%date#%level#%logger#thread#%message%n%xException</pattern> 
</encoder> 

我得到的是日誌文件24小時,每小時但只轉動。所以之後,logback開始替換文件,而不是保留48小時。

E.g.我希望看到: missing_field_20170104-10.log 有一天 missing_field_20170105-10.log,

,而只保留日誌文件,24小時後。

回答

0

根據documentation你應該你的配置更改爲

<maxHistory>48</maxHistory> 
+0

這就是我所做的一切,但它無法正常工作。 \ ** 48 \ **是爲了強調。它只會創建24個日誌文件,然後開始替換,難道這不合理嗎?謝謝 – highlander