0

我知道可以使用 RollingFileAppender 的 FixedWindowRollingPolicy 或 TimeBasedRollingPolicy 压缩日志文件。但是,我想知道仅使用 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 ,虽然它确实创建了一个压缩文件,但创建的文件无法打开。我想知道是否有解决方案?

4

1 回答 1

0

只想发布更新。无法使用 SiftingAppender 压缩文件。为了实现我的目标,我使用@ScheduledSpring Boot 的注解创建了一个任务来根据 cron 表达式执行压缩和清理。

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

希望这可以帮助某人。

于 2020-08-11T07:01:10.813 回答