【发布时间】:2017-01-04 09:59:14
【问题描述】:
我想每小时轮换一次日志文件,并在替换之前将它们保留 n 天。例如 2 天,这意味着如果不满足 totalSizeCap,我应该看到 48 个日志文件。
<appender name="missing_fields" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/missing_fields.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/missing_fields_%d{yyyyMMdd-HH}.log</fileNamePattern>
<maxHistory>48</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%date#%level#%logger#thread#%message%n%xException</pattern>
</encoder>
我得到的是日志文件每小时轮换一次,但只有 24 小时。所以在那之后,logback 开始替换文件而不是保留 48 小时。
例如我希望看到: missing_field_20170104-10.log 一天后 missing_field_20170105-10.log,
虽然它只保留日志文件 24 小时。
【问题讨论】:
-
我建议逐字粘贴您的代码,或者明确添加的重点。否则,诊断问题变得困难。