Очистка старых файлов журнала с помощью logback - PullRequest
0 голосов
/ 25 октября 2018

Я использую logback для настройки журналов в моем приложении.У меня есть SiftingAppender, который создает журналы для каждого запуска задания.Мне нужно автоматически чистить файлы журнала, которым 2 недели.Я попытался использовать RollingAppender, но он не работает, поскольку каждое имя файла журнала имеет уникальный идентификатор запуска задания.Есть ли какая-либо другая конфигурация регистрации по умолчанию, которая может работать для моего варианта использования?Спасибо вам за помощь!

  <appender name="JOB_RUN" class="ch.qos.logback.classic.sift.SiftingAppender">

<!-- This is MDC value -->
<!-- We will assign a value to 'jobRunId' via Java code -->
<discriminator>
  <key>jobRunId</key>
  <defaultValue>null</defaultValue>
</discriminator>

<sift>

  <appender name="FILE-${jobRunId}" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logs/${jobRunId}.log</file>
    <prudent>true</prudent>
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%level] [%logger{60}] - %msg%n</pattern>
    </encoder>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- daily rollover -->
      <fileNamePattern>logs/${jobRunId}.log.%d{yyyy-MM-dd}</fileNamePattern>
      <!-- keep 14 days of history -->
      <maxHistory>14</maxHistory>
    </rollingPolicy>
  </appender>

</sift>

...