我們有一個運行在 JBoss EAP 6.4 上的基于 Java 的 web 應用程式。我們從代碼的某些部分獲得了太多的日志訊息,例如,數千條
15:06:31,400 INFO [stdout] (pool-6-thread-1) Hibernate: select nextval ('hibernate_sequence')
在我們的 presistence.xml 中,我們有:
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
<property name="hibernate.connection.datasource" value="java:jboss/datasources/ourDS"/>
<!-- Scan for annotated classes and Hibernate mapping XML files -->
<property name="hibernate.archive.autodetection" value="class, hbm"/>
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform"/>
</properties>
按照這個博客的建議,我們注釋掉了這一show_sql行,因為我們希望更好地控制我們的日志記錄。這樣做后,休眠日志記錄消失了,正如預期的那樣。接下來,我們試圖打開重新登錄,使用JBoss的standalone.xml檔案和設定的級別org.hibernate.SQL是INFO。
<profile>
<subsystem xmlns="urn:jboss:domain:logging:1.5">
<console-handler name="CONSOLE">
<level name="INFO"/>
<formatter>
<named-formatter name="COLOR-PATTERN"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
<formatter>
<named-formatter name="PATTERN"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="org.hibernate.SQL">
<level name="INFO"/>
</logger>
<logger category="org.jboss.as.config">
<!-- other config omitted -->
</profile>
這似乎不起作用。沒有任何原始 Hibernate 日志訊息出現。為什么?
正如我所提到的,最終我們希望有更細粒度的訊息輸出,即,抑制某些 Hibernate 持久性操作的日志記錄,同時為其他操作啟用它。但首先我需要弄清楚基本問題。
順便說一句,我在 Java 除錯器中設定了一個斷點來檢查除錯設定。
Logger sqlLogger = Logger.getLogger("org.hibernate.SQL");
Level sqlOrigLogLevel = sqlLogger.getLevel();
它顯示INFO.
uj5u.com熱心網友回復:
Hibernate 在org.hibernate.SQLDEBUG 級別登錄類別,您的配置將其限制為 INFO,因此它們被靜音。如果您想查看日志,您需要將該級別降低到 DEBUG。
這與 不同hibernate.show_sql,當啟用該選項時,它使用控制臺,而不是記錄器。所以它可能應該被禁用
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/326495.html
上一篇:如何對名稱相似的行進行求和
下一篇:如何在休眠中為整個物體或表設定鎖
