未使用Hibernate和slf4j生成日志文件
在我的应用程序中,我使用了Hibernate、ApacheCommons日志和Log4J。但是没有生成我的日志文件。这是因为Hibernate使用slf4j吗 在我的类路径中,我有以下jar未使用Hibernate和slf4j生成日志文件,hibernate,log4j,slf4j,Hibernate,Log4j,Slf4j,在我的应用程序中,我使用了Hibernate、ApacheCommons日志和Log4J。但是没有生成我的日志文件。这是因为Hibernate使用slf4j吗 在我的类路径中,我有以下jar hibernate-3.2.7.ga.jar hibernate-annotations-3.4.0.GA.jar hibernate-commons-annotations-3.3.0.ga.jar hibernate-core-3.3.2.GA.jar hibernate-entitymanager-
- hibernate-3.2.7.ga.jar
- hibernate-annotations-3.4.0.GA.jar
- hibernate-commons-annotations-3.3.0.ga.jar
- hibernate-core-3.3.2.GA.jar
- hibernate-entitymanager-3.4.0.GA.jar
- slf4j-api-1.5.6.jar
- slf4j-jcl-1.5.6.jar
- commons-logging-1.1.1.jar
- log4j-1.2.16.jar
- log4j.properties
原因可能是什么?从3.3版开始,Hibernate确实使用了SFL4J而不是JCL(这是),并且依赖项将对SLF4J的调用委托给JCL看起来是正确的 但是,为什么您同时拥有
hibernate-3.2.7.ga.jar
(顺便说一句,它使用Commons日志)和hibernate-core-3.3.2.ga.jar
?我想知道这是否不会引起任何冲突。尝试清理类路径,看看在启动时是否没有任何错误跟踪
但我个人会试图摆脱JCL,而不是授权给它。如果你有
使用JCL的代码,如果JCL不是正式需求,则将commons-logging-1.1.1.jar
替换为JCL-over-slf4j.jar
(桥接)
另见
感谢各位,特别是帮助我使用Hibernate JAR。在我的项目中,我只将Hibernate用作JPA提供商。但是我对要使用的Hibernate jar集感到困惑。正如您所建议的,我从类路径中排除了Hibernate-3.2.7.ga.jar,并且没有问题。谢谢你指出我的错误。但是,日志文件不会像往常一样生成。