Как ограничить количество файлов в день при использовании Logback SizeAndTimeBasedFNATP - PullRequest
4 голосов
/ 01 февраля 2012

При использовании политики запуска Logback SizeAndTimeBasedFNATP как можно ограничить количество файлов в день? Например, в любой день я не хочу иметь больше 100 МБ журналов. Учитывая, что каждый журнал (в приведенном ниже примере) занимает 20 МБ, я бы хотел установить максимальный лимит в 5 файлов в день.

FixedWindowRollingPolicy предоставляет свойство maxIndex, но TimeBasedRollingPolicy не имеет maxIndex. Есть ли рекомендуемый подход к применению maxIndex при использовании TimeBasedRollingPolicy?

<appender name="some.file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>logs/some_app_%d{yyyyMMdd}.log.%i</fileNamePattern>
    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
        <maxFileSize>20MB</maxFileSize>
    </timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
    <pattern>%level %date{yyyy-MM-dd HH:mm:ss:SSS} %msg%n</pattern>
</encoder>

1 Ответ

3 голосов
/ 16 января 2014

в настоящее время это невозможно. Посмотрите на этот ответ Logback, установите максимальное количество файлов истории в день . Вы не можете выполнять ролловеры как по времени, так и по размеру, исходя из политики прокрутки / запуска.

...