log4j教程
log4j技术
log4j案例
Log4j2技术
log42j案例
Logback技术
Logback案例

logback案例4-滚动文件日志追加器

创建项目

编写日志配置

<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        
        <encoder>
            <pattern>
                [logback-demo] %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] %c:%L - %m%n
            </pattern>
        </encoder>
        
    </appender>
    
    <!--滚动文件追加器-->
    <appender name="rollFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        
        <!--设置日志滚动的策略-->
        <!--
            滚动记录日志文件,先将日志记录到指定的文件,当符合某个条件时,将日志记录到其它文件
            最常用的滚动策略:它是根据时间来制定滚动策略,即负责滚动也负责触发滚动
        -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志输出的位置,可以是相对的也可以是绝对的-->
            <!--
                %i:控制单个日志文件如果大小超过多少,那么就会生成一个新的日志文件,i就是生成新的日志文件的数量值,默认最大为7个
            -->
            <fileNamePattern>
                c:/logger/%d{yyyy-MM-dd}/rollFile-%i.log
            </fileNamePattern>
            
            <TimeBasedFileNamingTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!--定义单个日志文件的大小最大值-->
                <MaxFileSize>2kb</MaxFileSize>
            </TimeBasedFileNamingTriggeringPolicy>
        </rollingPolicy>
        
        
        <encoder>
            <pattern>
                [logback-demo] %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] %c:%L - %m%n
            </pattern>
        </encoder>
    </appender>
    
    <root>
        <appender-ref ref="console"/>
        <appender-ref ref="rollFile"/>
    </root>
    
</configuration>