这是我的配置:
<appender name="myAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<append>true</append>
<file>mylogs.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>mylogs-%d{yyyy-MM-dd_HH-mm}.log</fileNamePattern>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} [%thread] - %M:%L - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
根据此处TimeBasedRollingPolicy所述,基于%d{yyyy-MM-dd_HH-mm}
文件名模式,文件将每分钟滚动一次。我观察到它的工作方式,并得出以下结论:
- 它不会每分钟创建一个日志文件。
- 只有在新日志到达时才为上一分钟创建一个日志文件。(例如,我在晚上11:53有一个日志,现在是晚上11:55,当它到达11:54时,它不会立即为11:53创建一个新的日志文件,但当稍后出现新的日志,比如在晚上11:56,它现在会为11:53创建文件。)