我使用的是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=警告
当使用属性文件时,它工作得很好。