2012-09-04 89 views
1

我正在使用JPA作爲我的項目...應該避免Hibernate查詢日誌記錄?

我的問題是:Whenever we are executing some query using the JPA the query is logged in the server.log file of the **JBOSS** .我正在使用Jboss log4J。

但我想避免在server.log文件中打印查詢。 不改變以下屬性:

<property name="hibernate.show_sql" value="true"/> 

相反,我嘗試:

<category name="org.hibernate"> 
     <priority value="ERROR" /> 
    </category> 

log4j.xml沉綿查詢在控制檯或server.log中的全成查詢記錄。

任何人都可以請幫助我在這個如何實現這個......?

我必須更改配置以避免在server.log中查詢日誌?

+0

是一個相當奇怪的要求,你登錄到另一個文件?否則爲什麼負擔應用程序的開銷? – ssedano

+0

@ssedano是的基於標準我們正在登錄到不同的日誌... – Esh

+0

好的,粘貼相關部分的log4j.xml請 – ssedano

回答

1

您可能很難做到這一點。

<property name="hibernate.show_sql" value="true"/> 

確實是一個開發環境,它將生成的SQL寫入stdout而不是記錄器。

看看org.hibernate.jdbc.util.SQLStatementLogger確認。

將SQL記錄到您配置的記錄機制是完全不同的事情,並寫入org.hibernate.SQL

因此避免編寫SQL任何地方,你將需要設置:

<property name="hibernate.show_sql" value="false"/> 

,並使用以下日誌設置:

<category name="org.hibernate"> 
    <priority value="INFO" /> 
</category> 
+0

感謝您的答案......如果我沒有錯,如果我們使用value =「INFO」,那麼日誌也會被打印......我想要的是我不想要查詢要打印在日誌中...我試過以上也失敗:( – Esh

+0

你設置? –

+0

是的,我已經設置... 但仍然我能夠看到在控制檯登錄查詢 – Esh