当前位置: 首页 > 工具软件 > Just4Log > 使用案例 >

log4j-每天日志文件加日期后缀

阚英睿
2023-12-01

DailyRollingFileAppender-每天一个日志文件

每天生成一个日志文件,当天12点的时候,会复制一份当天日志到一个加日期后缀的文件当中。

例如:日志fileName test.log,当天的日志会打印到test.log文件中,12点的时候会将前一天的日志复制到文件test.log.yyyy-mm-dd文件中。

如何让当日的日志带上日期后缀?

DailyRollingFileAppender虽然可以每天生成一个日志文件,但是没办法做到让当天的日志文件带上时间后缀(通常也没有必要)。

Just in case 有这样的需求,可以试试Apache Extras for Apache log4j(for more information:https://logging.apache.org/log4j/extras/)。它是log4j 1.2.x的功能扩展包。其中的很多组件最初是致力于Apache log4j 1.3的研发工作。

log4j-extras重新实现了RollingFileAppender,可以更加灵活地指定RollingPolicy。并且提供了基于时间的rolling策略,TimeBasedRollingPolicy。使用它们,可以方便地完成我们的需求。log4j.xml配置如下(也可以使用log4j.properties):

 <appender name="daily" class="org.apache.log4j.rolling.RollingFileAppender">
        <param name="encoding" value="utf-8"/>
        <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
            <param name="fileNamePattern" value="daily.log.%d{yyyy-MM-dd}"/>
        </rollingPolicy>

        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                   value="[%d{yyyy-MM-dd HH:mm:ss\} %-5p] - %m%n"/>
        </layout>
 </appender>

更多信息请参考: https://logging.apache.org/log4j/extras/


 类似资料: