如何使用相同的log4j记录器将不同的信息写入两个不同的文件? [英] how to write different information to two different files using same logger of log4j?

查看:48
本文介绍了如何使用相同的log4j记录器将不同的信息写入两个不同的文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用记录器写入两个不同的文件,记录器的声明如下:

I'd like to write to two different files using my logger, which is declared like this:

public static final Logger logger = Logger.getLogger(Adapt.class);
PropertyConfigurator.configure("log4j.properties");

文件log4j包含:

log4j.rootLogger=DEBUG, FA

#File Appender
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=temp.ppr
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.append=false
log4j.appender.FA.layout.ConversionPattern= %m%n

是否可以使用记录器轻松地将不同的文本写入两个不同的文件?

Is it possible at all to use logger to write different text to two different files easily?

如果没有,是否有办法用两个记录器来做到这一点? (我尝试过,但是由于配置功能是静态的而遇到了问题.)

If not, is there a way to do that with two loggers? (I tried that and got problems because of the function configure which is static.)

谢谢.

推荐答案

只需定义第二个记录器变量:

Just define a second logger variable:

Logger otherLogger = Logger.getLogger("OTHER_LOGGER");

为其定义配置(请注意log4j. logger .如 venkatesh Dodla将不同的信息写入两个不同的文件):

define a configuration for it (notice the log4j.logger.OTHER_LOGGER syntax cf. log4j.rootLogger, as pointed out by user623395 and venkatesh Dodla):

log4j.logger.OTHER_LOGGER=DEBUG, OtherAppender

log4j.additivity.OTHER_LOGGER = false

#File Appender
log4j.appender.OtherAppender=org.apache.log4j.FileAppender
log4j.appender.OtherAppender.File=temp2.ppr
log4j.appender.OtherAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.OtherAppender.append=false
log4j.appender.OtherAppender.layout.ConversionPattern= %m%n

并照常记录您的其他文本:

and log your different text as usual:

logger.debug("My normal log");
otherLogger.info("My special text");

这篇关于如何使用相同的log4j记录器将不同的信息写入两个不同的文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆