【发布时间】:2018-06-15 21:28:18
【问题描述】:
我已将 Apache Jena 库包含到我的 Java 项目中,并且我使用 Apache Log4J2 作为我的记录器。我还包含了 log4j-1.2-api 和 log4j-slf4j-impl 依赖项,用于从 Log4J v1.x 和 SLF4J 进行映射(分别)。
但是,我无法更改 Jena 的日志记录级别!
我尝试在 log4j2.xml (我的项目中使用的)中设置它:
<Logger name="org.apache.jena" level="warn"/>
我什至尝试添加一个 log4j.properties 文件:
log4j.logger.org.apache.jena=WARN
没有成功。
有没有其他人能够解决这个或类似的问题?
【问题讨论】:
-
您的 xml 配置 sn-p 看起来正确。你能更具体地说明“没有成功”吗?实际发生了什么以及您预期会发生什么?请注意,您可以通过设置
log4j2.debug系统属性对 Log4j2 配置进行故障排除。见logging.apache.org/log4j/2.x/faq.html#troubleshooting -
发生的事情是,我仍然看到 Jena 日志处于默认级别(很多 INFO)并使用默认布局。 (我可以尝试设置
log4j2.debug属性,但我认为 Log4J2 实际上并没有处理这些日志。) -
尝试两件事:设置系统属性
log4j2.debug,这会将Log4j2初始化打印到控制台。还要打印系统属性java.class.path的值,以验证您没有在类路径上意外使用旧的 Log4j 1.2。 -
您在 INFO 级别看到了哪些类的输出?库 Apache Jena 不默认使用 Log4j(或其他任何东西),并且很少使用 INFO。这些命令使用 log4j-1 作为它们在 INFO 的输出。