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

log42J案例4—以大小为策略生成滚动日志文件

创建项目

项目名称:011-log4j2-demo

编写log4j2日志控制文件

<?xml version="1.0" encoding="UTF-8" ?>
<Configuration status="off">

    <properties>
        <property name="LOG_HOME">/logger</property>
    </properties>

    <!--在Appenders标签中定义日志附加器-->
    <Appenders>

        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="[log4j2-demo] %-d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] %c:%L - %m%n"/>
        </Console>


        <!--
            以日志文件大小来封装日志文件,将封装好的日志文件存放到以天为单位的文件夹中,并将日志文件进行压缩
        -->
        <RollingFile name="sizedRollFile" fileName="${LOG_HOME}/sizedRollFile.log"
                     filePattern="${LOG_HOME}/$${date:yyyy-MM-dd}/sizedRollFile-%d{yyyy-MM-dd}-%i.log.gz">
            <PatternLayout pattern="[log4j2-demo] %-d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] %c:%L - %m%n"/>
            <!--
                以大小为策略封装日志文件
                SizeBasedTriggeringPolicy 标签为:基于大小的触发策略
                size属性为:定义的文件大小
            -->
            <SizeBasedTriggeringPolicy size="2k"/>
            
        </RollingFile>

    </Appenders>
    
    <Loggers>
        <Root level="info">
            <AppenderRef ref="console"/>
            <AppenderRef ref="sizedRollFile"/>
        </Root>
    </Loggers>

</Configuration>

编写测试类