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