在log4j中使用RollingFileAppender来滚动日志文件

时间:2010-08-23 05:16:31

标签: java logging log4j

我想在我的网络应用程序中使用log4j。我想以这样的方式配置log4j:当文件达到一定大小时,我们开始编写新的日志文件,使其更容易打开和读取。

您能解释一下RollingFileAppender的设置吗?

2 个答案:

答案 0 :(得分:5)

互联网上的

Lots of examples,例如这会创建一个每日滚动日志文件,该文件将翻转到log4jtest.log.2010-08-25

# configure the root logger
log4j.rootLogger=INFO, DAILY

# configure the daily rolling file appender
log4j.appender.DAILY=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DAILY.File=/tmp/log4j/log4jtest.log
log4j.appender.DAILY.DatePattern='.'yyyy-MM-dd
log4j.appender.DAILY.layout=org.apache.log4j.PatternLayout
log4j.appender.DAILY.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%p] %c:%L - %m%n

答案 1 :(得分:1)

如果您使用的是XML配置,则可以使用以下命令:

<appender name="MyFileAppender" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="my.log" />
    <param name="Threshold" value="INFO" />
    <param name="DatePattern" value="'.'yyyy-MM-dd" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %-10t [%-40.40c] %x - %m%n"/>
    </layout>
</appender>

这会每天滚动日志文件。

如果您希望在日志文件达到特定大小时将其滚过,请使用RollingFileAppender。来自文档:

  

RollingFileAppender扩展FileAppender以在日志文件达到特定大小时对其进行备份。默认的最大文件大小为10MB。