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

Java 在log4j中使用RollingFileAppender来滚动日志文件,java,logging,log4j,Java,Logging,Log4j,我想在我的web应用程序中使用log4j。我希望以这样一种方式配置log4j:当文件达到一定大小时,我们开始编写新的日志文件,使其更易于打开和读取 您能解释一下internet上的RollingFileAppender?的设置吗?例如,这会创建一个每日滚动日志文件,滚动到log4jtest.log.2010-08-25等 # configure the root logger log4j.rootLogger=INFO, DAILY # configure the daily rolling

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

您能解释一下internet上的
RollingFileAppender

的设置吗?例如,这会创建一个每日滚动日志文件,滚动到
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

如果您使用的是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


RollingFileAppender与DailRollingFileAppender类似,只是需要指定maxBackupSize和maxBackupFile。