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

log42j案例3—滚动文件附加器

创建项目

项目名称:010-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>

        <!--
            以天为单位打印日志,并将日志封存到以天为单位的文件夹中
            filePattern属性:指定封存日志文件的格式
        -->
        <RollingFile name="rollFile" fileName="${LOG_HOME}/rollFile.log"
                     filePattern="${LOG_HOME}/$${date:yyyy-MM-dd}/rollFile-%d{yyyy-MM-dd}.log">

            <!--滚动的策略-->
            <!--
                modulate属性:值为true,则表示以0点为边界,进行时间偏移计算,
                如果每隔4个小时进行日志的封存,当前时间为3点,modulate值为true,则在4点的时候触发封存的动作

                interval属性:间隔时间
            -->
            <TimeBasedTriggeringPolicy modulate="true" interval="1"/>

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

        </RollingFile>


    </Appenders>

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

</Configuration>

编写测试类

测试结果