【发布时间】:2017-11-24 10:34:23
【问题描述】:
我在我正在处理的 java 应用程序中使用jose4j。它是一个 json Web 令牌库,我发现将包名称放在我的 log4j 配置文件中并不能消除我从这个东西中看到的(许多)调试日志消息。这是我相关的 log4j 配置部分
<Root level="debug">
<AppenderRef ref="Console"></AppenderRef>
</Root>
<Logger name="org.jose4j" level="warn" additivity="false">
<AppenderRef ref="Console"></AppenderRef>
</Logger>
所以,我基本上只想查看 jose4j 的日志消息,当它们上升到警告(或更可怕)级别时。
我已经能够收集到一些东西。
将根记录器设置为“info”确实会使 jose4j 调试消息消失,因此 jose4j 的记录器至少知道我的记录设置。
看起来jose4j使用的logger是org.sl4j
我昨天有一个similar issue。似乎添加几个罐子可以解决这个问题,但我没有运气。
我还在类路径中添加了this jar...这也不起作用。
有谁知道如何让这个库与我的日志记录设置一起使用?
【问题讨论】:
-
从 jose4j 的 maven 依赖项(见search.maven.org/…)看来,SLF4J 门面使用的日志系统是 Logback 。所以配置可能必须是 logback.xml 文件。
-
我必须把它放在我的 log4j 配置文件旁边吗?这可能吗?
-
您至少可以测试一下,看看 jose4j 是否考虑了这个配置。稍后最好所有类都使用相同的配置,在这种情况下,对于您的自定义库,或者将您的日志记录代码迁移到 SLF4J ,或者使用 log4j-over-slf4j 桥,请参见此处:slf4j.org/legacy.html
-
我添加了一个 logback.xml,如 here 所示,但它似乎没有任何效果。将 logback 级别设置为“警告”
标签: java logging log4j slf4j jose4j