如何避免在log4j v.1中将消息写入根记录器

时间:2015-06-25 19:25:03

标签: java logging log4j

是否只有一条路径可以将日志消息写入'孩子'记录器,避免根记录器? 根记录器正由其他组件使用,因此无法降低其级别或禁用appender。 感谢

1 个答案:

答案 0 :(得分:2)

请使用Log4j可加性。

将Log4j记录器的additivity属性设置为false,然后进入该记录器的日志消息将不会传播到父记录器。

Log4j配置文件:

log4j.category.com.demo.moduleone = INFO, moduleOneFileAppender
log4j.additivity.com.demo.moduleone = false
log4j.category.com.demo.moduletwo = INFO, moduleTwoFileAppender
log4j.additivity.com.demo.moduletwo = false
log4j.rootLogger = INFO, rootFileAppender

使用上述配置,来自com.demo.moduleone的日志消息将仅转到moduleOneAppender,其余的日志消息将转到rootFileAppender。