1.按日期输出一个文件
即每天生成一个日志文件,会打包成zip包保存30天的日志文件,配置如下:
<appender name="info"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${dcs_app_path}/logs/info.log</file><!--配置的路径-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level><!--只打info日志-->
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${dcs_app_path}/logs/info.%d{yyyy-MM-dd}.zip
</fileNamePattern>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
2.按文件大小输出一个文件
即设置日志文件的大小10MB,打包成zip包保存30个日志文件,配置如下:
<appender name="info"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${dcs_app_path}/logs/info.log</file>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${dcs_app_path}/logs/info.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>30</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
<encoder>
<charset>UTF-8</charset>
<pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
3.按时间的同时又按大小输出
即每天输出多个大小固定的日志文件,保存30天日志,每天的日志文件大于10MB时重新写一个日志文件。配置如下:
<appender name="info"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${dcs_app_path}/logs/info.log</file>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${dcs_app_path}/logs/info.%d{yyyy-MM-dd}.%i.zip
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 100MB -->
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>