在Spring应用程序中禁用Hibernate日志消息

时间:2011-10-28 12:50:17

标签: hibernate spring log4j slf4j

我已经将我的pom.xml配置为包含slf4j和绑定到log4j,并按照解释here排除commons-logging,并按照here解释禁用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文件:

可能是什么问题?我看到hibernate生成的所有sql消息。

4 个答案:

答案 0 :(得分:6)

如果有人在浏览答案时查找此问题:

如果您使用的是spring-boot-starter-data-jpa,请在spring.jpa.show_sql = false文件中设置application.properties

答案 1 :(得分:4)

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

答案 2 :(得分:3)

如果你仍然不能禁用 show_sql 试试这样的事情

logging.level.org.hibernate.SQL=INFO
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=INFO

答案 3 :(得分:0)

为补充JørgenSkårFischer的答案,在我的特定情况下,我必须将两个设置都添加到application.properties文件中。

spring.jpa.show-sql=false 

spring.jpa.properties.hibernate.show_sql=false