我已将我的应用程序配置为将 slf4j 与 log4j 一起使用,但了解如何通过 slf4j 选择 JBoss 记录器:
org.jboss.logging [DEBUG] Logging Provider: org.jboss.logging.Log4jLoggerProvider.
我的应用程序使用 spring 和 hibernate,据我了解,hibernate 现在使用 JBoss 记录器而不是 slf4j。我有办法强制使用 slf4j 吗?或者更好的是,让我的日志记录调用与 API 无关?就目前而言,hibernate 和 spring 日志正确,但我的应用程序特定日志记录被忽略,因为它使用 slf4j API。
更新:记录相关的jar(由maven管理)包括:
- slf4j-api-1.6.1
- slf4j-parent-1.6.1
- slf4j-simple-1.6.1
- slf4j-log4j12-1.6.1
- jboss-logging-3.1.0.CR2
- log4j-1.2.12
谢谢。
最佳答案
您的类路径中有太多日志记录实现。
显然 Hibernate 使用 SLF4J:documentation
所以你应该删除以下 jar :
- slf4j-simple-1.6.1(与 slf4j-log4j 冲突)
- jboss-logging-3.1.0.CR2
我不太确定 slf4j-parent-1.6.1 是什么,您可以尝试使用或不使用它。
关于java - 选择日志记录提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9316398/