2011-10-28 84 views
3

我配置了我的pom.xml以包含slf4j和绑定到log4j,并排除了公共日志记录,如解释here和禁用Hibernate自己的日志记录,如解释here所述。在Spring应用程序中禁用Hibernate日志消息

我可以禁止Spring自己的消息,但尽管我的log4j.properties设置如下,但Hibernate消息仍然出来。

log4j.debug=false 
log4j.rootCategory=WARN, stdout 
log4j.category.org.hibernate=ERROR, stdout 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%p %t %c - %m%n 
log4j.category.org.springframework = ERROR 
log4j.category.org.hibernate = ERROR 

Here是我的pom.xml文件:

可能是什么问题?我看到了休眠生成的所有SQL消息。

+0

如果你使用它,你可能需要在你的hibernate配置文件中设置' false''。 –

+0

@XaviLópez谢谢,我在我的Spring应用程序上下文中实际上有一个类似的东西,并在那里设置它解决了这个问题。我会将你删除的答案标记为答案。我发现在log4j的属性中禁用并不足以压制Hibernate的日志消息仍然有点奇怪,但这是Java EE,我应该保持那么高的希望吗? – ustun

+0

我已经取消了答案。我建议您发布自己的答案,解决您遇到的特定问题,以及您如何解决问题。当然,如果它对你有帮助,你可以升级它。:)从Hibernate Reference中,使用'show_sql = true'相当于使用'log4j.logger.org.hibernate.SQL = DEBUG'。也许它会覆盖'SQL'子包的跟踪级别。我现在没有办法测试这个,但也许别人可以对此有所了解:] –

回答

4

如果您使用它,您可能需要在您的hibernate配置文件中设置<property name="show_sql">false</property>

4

如果有人查这个问题,同时浏览答案:

如果您使用的弹簧引导起动数据JPA,在application.properties文件中设置spring.jpa.show_sql = false

相关问题