2011-01-13 58 views
10

我使用JPA 2.0的EclipseLink提供商)與Glassfish的V3.0.1的NetBeans 6.9.1和我無法看到來自JPA 2.0的查詢和其他日誌記錄信息。本質上,我希望能夠看到由JPA生成的所有SQL語句以及其他相關調試信息...JPA 2.0(記錄和跟蹤通過)配有Glassfish的3.0.1和NetBeans 6.9.1:

是否有人成功地配置了日誌記錄以提供此類反饋?我已經嘗試了幾件事情無濟於事......

任何幫助將不勝感激。

非常感謝。

回答

13

什麼最終爲我用做了的伎倆:

<property name="eclipselink.logging.logger" 
    value="org.eclipse.persistence.logging.DefaultSessionLog"/>
連同您推薦的標籤:
<property name="eclipselink.logging.level" value="FINE" />
這讓我看到了相關的JPA木頭,在NetBeans輸出窗口。這也適用於Eclipse。輸出被髮送到控制檯窗口,與服務器的輸出混合在一起,這正是我想要的。

+1

是否可以自動區分生產系統和開發系統?每次將INFO的級別設置爲INFO時,將其部署到實時系統中工作量太大,如果忘記也很危險。 – 2013-03-28 10:25:56

5

您必須在persistence.xml文件中配置日誌級別。

例子:

<persistence-unit name="MY_POOL_NAME" transaction-type="JTA"> 
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
    <jta-data-source>MY_JTA_SOURCE</jta-data-source> 
    <properties> 
     <property name="eclipselink.logging.level" value="FINE" /> <property name="eclipselink.target-server" value="SunAS9"/> 
    </properties> 
    </persistence-unit>

日誌級別:
OFF
嚴重
警告
信息
CONFIG - 使用此生產
FINE
FINER
FINEST
更多信息:http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging

所有的查詢將打印在域server.log文件。

+4

感謝您的回答。我最終做了什麼是使用:連同你推薦的標籤:。這使我能夠在NetBeans輸出窗口中看到相關的JPA日誌。這也適用於Eclipse。輸出被髮送到控制檯窗口,與服務器的輸出混合在一起,這正是我想要的。 – 2011-02-26 20:13:41