Log4j在同一个类中使用两个不同的日志

时间:2015-03-23 09:57:30

标签: java log4j

我的日志有以下配置:

log4j.rootCategory=INFO, RollLogFile
log4j.logger.ReportLog=INFO,ReportLog

之后,我为我的日志和一些属性设置了两个appender。 我在我的代码中这样做:

reportLogger = LogManager.getLogger("ReportLog");

之后

reportLogger.info("blabla bla bla ");

为什么这行还记录在RollLogFile的文件中?

1 个答案:

答案 0 :(得分:1)

由于 Appender可加性

  

给定记录器的每个启用的日志记录请求都将转发到该记录器中的所有appender以及更高的appender   层次结构。换句话说,appender是附加地继承的   来自记录器层次结构。例如,如果添加了控制台appender   到根记录器,然后至少所有启用的记录请求   在控制台上打印。如果另外添加了文件追加器   记录器,比方说C,然后启用C和C子项的日志记录请求   将在文件和控制台上打印。可以覆盖   这个默认行为使得appender不再累积   由setting the additivity flag添加到false