JacOrb and Log4j



我使用的是Jacob 3.0,我想使用log4j作为日志后端。为此,我放置了jacorb中的各种jar,slf4j-api-1.6.6.jar,slf4j-log4j12-1.6.6.jar,log4j-1.2.16.jar,并在类路径中删除了slf4j-jdk14-1.6.4.jar。到目前为止还不错。

然而,Jacob打印了太多我不关心的日志,我无法排除它

log4j.category.org.jacorb.orb=WARN
log4j.additivity.org.jacorb.orb=false

但我仍然看到像这样的线路

14:27:48.974|INFO |org.jacorb.orb.ORB                   |main           |ORB run

在我的日志中。我如何从日志中排除所有不是警告或以上的内容?

我通过研究这个问题找到了一个解决方案:我将根记录器切换为仅记录WARN及以上版本,然后为我自己的包显式启用DEBUG级别的日志,如下所示:

log4j.rootLogger=WARN,CONSOLE
log4j.category.my.package=DEBUG

Jacob使用的记录器名称不是记录消息的类的包名称。相反,他们使用"jacorb.orb.singleton"之类的东西。所以我为"jacorb"添加了一个过滤器,如下所示:

这将是log4j.category.jacorb=警告

当使用属性文件时,它工作得很好。