2014-09-03 92 views
1

我一直在尋找解決方案的小時。如何更改Hibernate4中的日誌記錄級別?

如何將Hibernate 4.3.6中的日誌記錄級別更改爲DEBUG?

在官方documentation中提到,

完全過時了。 Hibernate從4.0開始使用JBoss Logging。這將在我們將此內容遷移到開發人員指南時得到記錄。

我還沒有在開發指南中找到任何東西,所以我假設他們甚至沒有開始記錄它。

Stackoverflow後here根本沒有幫助我。我使用Hibernate 4作爲獨立的庫,我不關心任何Maven,JBoss或其他任何可能存在XML文件的東西。

是否有某處有關如何在最新版本的Hibernate中更改調試級別的綜合教程?

+0

對不起,但這不是重複。另一篇文章根本沒有解決任何問題。只有一些JBoss代碼的鏈接,但沒有真正的解決方案。 – Jagger 2014-09-04 06:51:23

+0

OP對使用SLF4J不感興趣,他們只是想改變日誌級別。 – Raedwald 2014-12-16 21:13:56

回答

3

首先,抱歉忽視了這個問題。我會馬上刪除評論。

我認爲他們已經遷移了指南,但忘記了更新頁面。注意新userguide說:

這仍然是一個正在進行的工作。幫助是絕對受歡迎的!

Logging Guide指出,「這主要是JBoss的日誌記錄的開創性的文檔,因爲JBoss的記錄目前提供沒有自己的文檔。」很遺憾。

但也有一些有用的技巧:

首先,JBoss的記錄將尋找一個系統的關鍵org.jboss.logging.provider,可設置爲以下值之一設置:
-jboss
-jdk
-log4j2
-log4j
-slf4j

接下來,JBoss的記錄將尋找一個JDK服務(見FO的javadoc詳細信息請參見java.util.ServiceLoader)以獲取其「提供者」合約(org.jboss.logging.Provider)。如果多個可用,它將使用ClassLoader返回的第一個。

如果您想使用由另一個日誌記錄庫支持的JBoss Logging,則需要將它們的庫放在類路徑中。之後,您可以使用相關的配置文件(logback.xml,log4j.properties等)來定義您的日誌級別org.hibernate

+0

謝謝,我會盡力做到這一點。 – Jagger 2014-09-04 06:51:56

+0

謝謝! 許多依賴關係在傳遞過程中會帶來他們的記錄器,所以我們需要排除它們(在intellij的想法中,您可以很容易地看到依賴關係帶來了記錄器庫,在maven中添加排除項) – Pleymor 2017-03-03 16:02:06

0

看看this post可以幫助你解決問題。我早先在那裏面對同樣的問題創建了這個帖子。通過放置log4j.properties並將slf4j jar文件放在classpath中解決了我的問題。我也在用Hibernate 4.3.6

+0

不幸的是,這不起作用。把'slf4j'和'log4j.properties'不改變任何東西。 Hibernate 4.3.6加載的是'jboss-logging-3.1.3.GA.jar',它包含這個Hibernate版本的默認記錄器。 – Jagger 2014-09-03 18:11:08

+0

不好意思再問一次,你有沒有試過?因爲我也使用'Hibernate 4.3.6',它對我很有用。 – Chaitanya 2014-09-03 18:12:45

相關問題