Springboot logback不删除旧的日志文件



我在SpringBoot中使用logback,但无法让它删除旧的日志文件。

我在logback-spring.xml文件中定义了以下appender:

<appender name="app" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOGS}/app.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%d %p %C{1.} [%t] %m%n</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily and when the file reaches 10 MegaBytes -->
<fileNamePattern>${LOGS}/archived/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- keep 10 days worth of history -->
<maxHistory>10</maxHistory>
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
</appender>

尽管我设置了&;maxhistory &;和"cleanhistoryonstart",超过10天的日志文件不会被删除。

一切似乎都很好。日志文件被RolledOver并根据定义的Rules重命名。

我在这里做错了什么吗?

maxHistory不是关于天数的,而是关于文件数量的。参见http://logback.qos.ch/manual/appenders.html和logback在每小时回滚期间删除MaxHistory之前的日志

好的,我发现了问题所在,似乎只是我的一个误解。

在我将标签添加到我的logback文件之前,我有一个应用程序已经运行了大约2个月的日志。

我的假设是,当我启动logback时,它也会自动删除所有旧的日志。然而,情况似乎并非如此。

最新更新