我使用的logback版本是1.2.3
目前logback支持根据时间来配置产生日志文件,但是只支持每周,每天,每个小时,每分钟等创建一个文件,配置如下:
<appender name="SYSTEM" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.home}/system.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- daily rollover ,每天生成一份日志文件--> <fileNamePattern>${log.home}/%d{yyyy-MM-dd}/system.%d{yyyy-MM-dd}.log </fileNamePattern> <maxHistory>7</maxHistory> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss} %-5level [%thread][%file:%line] : %msg%n </pattern> </encoder> </appender>
但是需求是无法想象的,像突然又要求每隔一段时间之后生成一个配置文件,比如logback每隔10分钟生成一个日志文件,或每隔30分钟生成一份日志文件,每隔2个小时生成一个日志配置文件等。
下面以每隔10分钟生成一个日志文件,首先看一个每分钟生成一个配置文件 的配置
<appender name="SYSTEM" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.home}/system.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- daily rollover ,每天分钟生成一份日志文件--> <fileNamePattern>${log.home}/%d{yyyy-MM-dd}/system.%d{yyyy-MM-dd-HH-mm}.log </fileNamePattern> <maxHistory>7</maxHistory> </rollingPolicy> <encoder>