我有一个类,我使用log4j来记录消息。我在if和else部分代码中记录了消息。我需要将if {}条件中的消息记录到单独的日志文件中,而else部分将消息记录到单独的日志文件中。例如,在下面的代码中,if里面的消息应该记录在log1文件中,而其他消息里面应该记录在log2文件中。我正在使用log4J XML配置文件。我可以知道这是否可以使用log4j ??任何帮助都非常感谢。提前谢谢。
if(id=1){
logger.info("inside if");
}else{
logger.info("inside else");
}
答案 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指向不同的文件。