Log4j“后备”appender

时间:2012-07-19 10:20:18

标签: java log4j

我目前正在调整一个相对较大的项目的log4j配置。目前,我尚未为可能创建日志条目的所有位置配置日志级别。

我想让log4j有一些回退appender来记录所有没有配置其他appender的消息。因此,如果我有一条日志消息:

登录:a.b.c.d:WARN

并将appender配置为使用级别INFO记录包a.b.c,然后将输出记录到该appender。

但是,如果我没有配置appender来处理a.b.c.d,那么应该使用回退。

如果我将a.b.c Appender配置为FATAL级别,那么根本不需要记录任何内容,因为我故意配置log4j以保留这些消息。

我希望我能够解释我想做什么: - )

有什么建议吗?

克里斯

2 个答案:

答案 0 :(得分:1)

如果您不想在根记录器中获取所有内容,可以设置

additivity = "false"

在其他记录器上。然后日志不会传播。

答案 1 :(得分:0)

我认为@Keppil似乎混淆了一些东西。

Additivity是在Logger上设置的,它控制父记录器(包括appender)的设置如何传播到记录器。

所以,在OP的情况下,你可能会这样做:

Root Logger -> Appender1
Logger a.b.c -> additivity = false, Appender2

通过这样做,a.b.c(及其所有子代)将其日志发送到Appender2,而所有其他记录器将发送到Appender1。

相关问题