使用Logback的SiftingAppender时压缩日志文件

时间:2020-08-03 07:42:07

标签: logging log4j logback logback-classic

我知道可以使用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,尽管确实创建了压缩文件,但无法打开创建的文件。我想知道是否有解决方案?

1 个答案:

答案 0 :(得分:0)

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

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

希望这对某人有帮助。

相关问题