2016-05-16 3 views
2

У меня есть политика ниже в политике logback.xml.
Проблема в том, что если размер файла превышает 10 МБ, это исключение. Похоже, он пытается создать новый файл, но поскольку тот же файл уже присутствует на ту же дату, он не может этого сделать и выдает исключение.
Например, у нас уже есть файл pvExport.2016-05-15.log, и если pvExport.log превышает 10 МБ, он попытается создать файл с тем же именем, что и pvExport.2016-05-15.log , и, следовательно, будет бросать исключение, не уверен, хотяLogback: Исключение, когда файл растет за пределы maxFileSize

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <!-- rollover daily --> 
      <fileNamePattern>${EXPORT_LOG_HOME}/pvExport.%d{yyyy-MM-dd}.log 
         </fileNamePattern> 
      <timeBasedFileNamingAndTriggeringPolicy 
       class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
       <maxFileSize>10MB</maxFileSize> 
      </timeBasedFileNamingAndTriggeringPolicy> 
     </rollingPolicy> 

ответ

2

fileNamePattern Ваш фактически недействительным в этом случае. От docs

Обратите внимание на токен «% i» в дополнение к «% d». Итоги% i и% d являются обязательными. Каждый раз, когда текущий файл журнала достигает MaxFileSize до завершения текущего периода времени, он будет архивируются с увеличением индекса, начиная с 0.

Добавление маркера в %i преобразования в ваш шаблон должен исправить это:

<fileNamePattern>${EXPORT_LOG_HOME}/pvExport.%d{yyyy-MM-dd}.%i.log</fileNamePattern> 
+0

, который сработал, спасибо – Ahmad