2011-10-28 85 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

相關問題