Я использую 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>





Возникла аналогичная проблема: cmsdk.com/java/… Связанный билет: jira.qos.ch/browse/… Кажется, сейчас это нужно решать вручную: /