简体   繁体   English

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

[英]Using RollingFileAppender in log4j for rolling log files

I want to use log4j in my web application. 我想在我的Web应用程序中使用log4j。 I would like to configure log4j in such a way that when the file reaches a certain size, we start writing a new log files, making it easier to open and read. 我想以这样的方式配置log4j:当文件达到一定大小时,我们开始编写新的日志文件,使其更容易打开和读取。

Can you please explain the set up of RollingFileAppender ? 你能解释一下RollingFileAppender的设置吗?

Lots of examples on the internet, eg this creates a daily rolling log file that rolls over to log4jtest.log.2010-08-25 etc 互联网上有很多例子 ,例如这会创建一个每日滚动日志文件,转到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

If you're using XML configuration, you can use the following: 如果您使用的是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>

This rolls the log file over each day. 这会在每天滚动日志文件。

If you wish to roll the log file over when it reaches a certain size, use RollingFileAppender . 如果您希望在达到特定大小时滚动日志文件,请使用RollingFileAppender From the docs: 来自文档:

RollingFileAppender extends FileAppender to backup the log files when they reach a certain size. RollingFileAppender扩展FileAppender以在日志文件达到特定大小时对其进行备份。 The default maximum file size is 10MB. 默认的最大文件大小为10MB。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM