Сжимайте файлы журнала при использовании SiftingAppender of Logback - PullRequest
0 голосов
/ 03 августа 2020

Я знаю, что можно сжать файлы журнала с помощью FixedWindowRollingPolicy или TimeBasedRollingPolicy из RollingFileAppender. Однако мне было интересно, возможно ли сжатие при использовании только SiftingAppender. Моя текущая конфигурация выглядит следующим образом:

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

        <discriminator>
            <key>id</key>
            <defaultValue>-</defaultValue>
        </discriminator>

        <sift>
            <appender class="ch.qos.logback.core.FileAppender">
                <file>${DEV_HOME}/${date}/server-${id}.log</file>
                <append>true</append>

                <encoder>
                    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%-30.30logger{30}] [%thread] [%-8X{id}] - %msg%n</pattern>
                </encoder>

            </appender>
        </sift>
    </appender>

Я попытался добавить .zip и .gz в конце имени файла, и хотя он создает сжатый файл, созданный файл не может быть открыт. Мне было интересно, есть ли решение для этого?

1 Ответ

0 голосов
/ 11 августа 2020

Просто хочу опубликовать обновление. Сжимать файлы с помощью SiftingAppender невозможно. Чтобы достичь своей цели, я использовал аннотацию @Scheduled к Spring Boot, чтобы создать задачу для архивирования и очистки в соответствии с выражением cron.

@Scheduled(cron = "0 0 3 * * *")
private void backupAndPurgeLogs() {}

Надеюсь, это кому-то поможет.

...