我正在使用休眠 6.1.2。我想使用默認的 JDK 日志提供程式進行日志記錄。根據 5.4 的檔案,可以這樣完成:
public class TestSL4JBug {
public static void main(String[] args) {
System.setProperty("org.jboss.logging.provider", "jdk");
jakarta.persistence.Persistence.createEntityManagerFactory("myPersistence");
}
}
我在較新的檔案中尋找了類似的解釋,但沒有找到。
唉,如果我正在測驗上面的最小示例,我會得到這個:
...
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
MLog initialization issue: slf4j found no binding or threatened to use its (dangerously silent) NOPLogger. We consider the slf4j library not found.
...
對我來說,這看起來像是 Hibernate 嘗試加載 SLF4J 并失敗了。當然,我找到了說我應該添加 SLF4J 依賴項的指南,但這不是我想要的。
所以我的問題是:如何配置 Hibernate 6.1.2 以使用 JDK 日志記錄?屬性是否發生了變化,還是我應該使用更好的方法來設定它?
uj5u.com熱心網友回復:
我意識到導致錯誤的不是普通的 Hibernate。我也在使用hibernate-spatial,因此也使用geolatte-geom。那個沒有使用 JBoss 日志記錄,而是始終通過 SLF4J。因此,即使 Hibernate 通過 JDK 日志記錄,SLF4J 仍然被加載。我現在不高興地添加了 slf4j-jdk14 并且錯誤消失了。它仍然比我滿意的更多層和源代碼源,但可能比其他編程生態系統要少得多。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/521221.html
上一篇:如何在HibernateEnvers審計表中保存登錄用戶?
下一篇:從Thymeleaf表單中獲取字串值,然后將其從控制器傳遞到服務類,最后在@Query方法中作為@Param傳遞到Repo類
