2017-01-04 4 views
0

Я хотел бы по часовой стрелке поворачивать файлы журнала и хранить их в течение n дней до их замены. Давайте скажем, например, 2 дня, так что это означает, что я должен увидеть 48 файлов журнала, если totalSizeCap не выполняется.Как настроить 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