Log4j多个文件

时间:2010-11-03 08:53:25

标签: java logging log4j

我有2个日志文件。 我为这两个文件定义了两个appender。 在一个类中,如果我需要将少量日志输出到一个文件,而少量输出到另一个文件,我是否需要有2个记录器实例。 是否有更清洁的方法来实现这一要求? 或者是否有一些log4j配置可以帮助我?

2 个答案:

答案 0 :(得分:4)

您可以创建两个命名记录器,如下所示:

log4j.logger.system=debug, sys

log4j.appender.sys=org.apache.log4j.RollingFileAppender
log4j.appender.sys.file=/logs/system.log
log4j.appender.sys.maxFileSize=1MB
log4j.appender.sys.maxBackupIndex=25
log4j.appender.sys.layout=org.apache.log4j.PatternLayout
log4j.appender.sys.layout.conversionPattern=%d{MMM dd HH:mm:ss} %-5p (%F:%L) - %m%n

您可以从代码中找到并使用

Logger.getLogger("system").debug("...");

答案 1 :(得分:0)

如果此日志过滤基于严重性,则可以为每个appender定义不同的日志级别(DEBUG,INFO,WARNING等)。

如果您想要不同的过滤,可以创建个人日志过滤器,并在您的appender上应用此过滤器。看http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/spi/Filter.html