我知道可以使用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,尽管确实创建了压缩文件,但无法打开创建的文件。我想知道是否有解决方案?
答案 0 :(得分:0)
只想发布更新。无法使用SiftingAppender压缩文件。为了实现我的目标,我使用了Spring Boot的@Scheduled
注释创建了一个任务,该任务根据cron表达式执行压缩和清理。
@Scheduled(cron = "0 0 3 * * *")
private void backupAndPurgeLogs() {}
希望这对某人有帮助。