我可以使用log4j为同一个类提供2个单独的日志文件吗?

时间:2014-04-03 11:11:50

标签: java logging

我有一个类,我使用log4j来记录消息。我在if和else部分代码中记录了消息。我需要将if {}条件中的消息记录到单独的日志文件中,而else部分将消息记录到单独的日志文件中。例如,在下面的代码中,if里面的消息应该记录在log1文件中,而其他消息里面应该记录在log2文件中。我正在使用log4J XML配置文件。我可以知道这是否可以使用log4j ??任何帮助都非常感谢。提前谢谢。

if(id=1){
logger.info("inside if");
}else{
logger.info("inside else");
}

2 个答案:

答案 0 :(得分:0)

只需为记录器路径使用/配置两个FileAppender的不同文件路径。每个记录器都可以有多个appender。这个SO-answer包含一个如何执行此操作的示例(查看多次使用appender-ref-tag)。

答案 1 :(得分:0)

你能用两个记录器吗?像这样:

Logger loggerIf = Logger.getLogger("com.foo.MyClass.if");
Logger loggerElse = Logger.getLogger("com.foo.MyClass.else");
if (id == 1) {
    loggerIf.info("inside if");
} else {
    loggerElse.info("inside else");
}

然后将每个记录器配置为具有不同的appender,每个appender指向不同的文件。

相关问题