在Spring应用程序中禁用Hibernate日志消息
我已经将pom.xml配置为包括slf4j和到log4j的绑定,并按照说明排除公共日志记录,并按照说明禁用Hibernate自己的日志记录 我可以抑制Spring自己的消息,但是Hibernate消息仍然会出现,尽管我在下面设置了log4j.properties在Spring应用程序中禁用Hibernate日志消息,hibernate,spring,log4j,slf4j,Hibernate,Spring,Log4j,Slf4j,我已经将pom.xml配置为包括slf4j和到log4j的绑定,并按照说明排除公共日志记录,并按照说明禁用Hibernate自己的日志记录 我可以抑制Spring自己的消息,但是Hibernate消息仍然会出现,尽管我在下面设置了log4j.properties log4j.debug=false log4j.rootCategory=WARN, stdout log4j.category.org.hibernate=ERROR, stdout log4j.appender.stdout=or
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
是我的pom.xml文件:
可能是什么问题?我看到了hibernate生成的所有sql消息。如果您正在使用它,您可能需要在hibernate配置文件中设置
false
。如果有人在浏览答案时查找此问题:
如果您使用的是spring启动程序数据jpa,请在
application.properties
文件中设置spring.jpa.show_sql=false
。补充约根·斯凯尔·菲舍尔的答案,在我的具体情况下,我必须在application.properties文件中添加这两个设置
spring.jpa.show-sql=false
及
如果仍然无法禁用show_sql,请尝试类似的方法
logging.level.org.hibernate.SQL=INFO
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=INFO
如果您正在使用它,您可能需要在hibernate配置文件中设置
false
。@XaviLópez谢谢,实际上我在Spring应用程序上下文中有一个类似的设置,在那里设置它解决了问题。我会将你删除的答案标记为答案。我觉得还是有点奇怪,在log4j的属性中禁用不足以抑制Hibernate的日志消息,但这是javaee,我不应该抱那么高的希望,是吗?我已经取消了删除答案。我建议你把你自己的答案和你遇到的问题以及你是如何解决的一起贴出来。当然,如果对您有帮助,您可以从Hibernate参考中升级我的:)使用show_sql=true
相当于使用log4j.logger.org.Hibernate.sql=DEBUG
。可能它正在覆盖SQL
子包的跟踪级别。我现在没有办法测试这一点,但也许其他人可以解释一下:]对我来说,这是有效的:
logging.level.org.hibernate.SQL=INFO
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=INFO