使用Hibernate(4.3.8)與MySQL,我發現服用大量的帶寬在活動日誌一堆SHOW WARNINGS
聲明:如何從Hibernate禁用SHOW WARNINGS?
我搜索周圍,這是一個很常見的問題(for example),可以顯然可以通過increasing the log level to ERROR來解決(並且自從至少4.3.6以來該解決方案是confirmed implemented)。
問題是,我其實不知道該怎麼做。我對Hibernate的瞭解是關於使用它的最低必要條件。先前鏈接的帖子通過編輯logback.xml
中的Logback設置來解決它,但我沒有使用Logback。我正在使用所有的默認設置:
- 顯然它在其核心使用JBoss Logging。
- 我沒有任何其他的記錄依賴於我的類路徑(例如slf4j.jar),所以我絕對不會使用這些。日誌消息正在寫入
System.err
。
所以我不確定如何做到這一點。這裏是我的配置文件:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/xxxxx</property>
<property name="connection.username">xxxxx</property>
<property name="connection.password">xxxxx</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.isolation">2</property>
<property name="connection.pool_size">10</property>
<property name="current_session_context_class">thread</property>
<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- <property name="show_sql">true</property> -->
<!-- <property name="hbm2ddl.auto">create</property> -->
<mapping resource="hibernate.hbm.xml"/>
</session-factory>
</hibernate-configuration>
這裏是構建路徑中的依賴關係;有拋棄和喬達,MySQL驅動程序,然後一切從Hibernate的required
依賴目錄,沒有別的:
如何提高日誌級別,否則不啓動這個SHOW WARNINGS
(默認設置) 案件? This提到「感興趣的日誌類別」,但我不確定這些與配置文件有關。 This page在「Logging」部分沒有提到任何與日誌有關的屬性,它提到SLF4J,但顯然我沒有使用SLF4J(我怎麼可能,因爲它不在我的類路徑中)。
@ToanTran那是我掛在我解釋了爲什麼這種解決方案並沒有爲工作職位我。 :) –
閱讀此:https://www.mkyong.com/hibernate/how-to-configure-log4j-in-hibernate-project/。然後查找'log4j.properties'文件或'log4j.xml'文件。 –
@StephenC我明白了;好吧,只是爲了清楚其中的含義,基本上意味着我*不能*使用默認設置更改日誌警告級別,並且只能*如果配置了非默認日誌記錄工具(例如slf4j + log4j而不是jboss + system.err或其他)並設置相應的級別......對嗎? –