2010-09-18 36 views
1

我在Eclipse RCP(目前是Helios)上有DN 2.x。如何用Eclipse內部的DataNucleus 2.x進行日誌記錄

我遇到問題打開DN LOG。

我使用log4j.properties,其中我定義了所有的DataNucleus類別LOG級別。

它使用「外部」增強器(我只是在RUN配置-Dlog4j.configuration = file:「... \ log4j.properties」的「VM Arguments」上傳遞參數),但可以'讓日誌在主應用程序上工作...嘗試同樣的方法,但沒有成功。

任何使用DN和eclipse的人?

回答

0

我不使用DN。所以我無法直接解決你的問題。一般來說,如果您有使用Log4j的應用程序,它將在類路徑中搜索名爲log4j.properties和log4j.xml的文件。在你的情況下,嘗試將你的log4j.properties文件移動到100%確定在類路徑中的位置(如所有軟件包的根文件夾)。

從那裏,如果您的日誌記錄打開,那麼你知道你的屬性文件不在類路徑中。但是,如果您的文件肯定是在類路徑中,那麼罪魁禍首可能是關閉應用程序範圍內的其他記錄。你有沒有看到日誌記錄?如果沒有,那麼這可能是問題所在。那時你需要弄清楚你正在使用的Facade:apache commons還是SLF4J。兩者都有能力用NOOP記錄器取代記錄器實現,NOOP記錄器忽略所有的記錄請求。

與Commons,你必須檢查commons-logging.properties文件。使用SLF4J,您必須檢查項目依賴關係(通常在某處的lib目錄中),確保列表中沒有NO-OP jar。

+0

我在項目的根上有log4j.properties,它在類路徑上。我使用Apache log4j-1.2.16.jar。我找不到任何特定的配置(如commons-logging.properties)或任何NO-OP jar: - 嘗試了我所能想到的一切。 – marcolopes 2010-09-22 21:38:19

+0

@marcolopes:你有沒有試過把你的記錄器置於調試模式(通過傳遞'-Dlog4j.debug'作爲VM參數)?這將打印出有關哪個屬性文件log4j用於配置自身的信息。如果正如預期的那樣使用YOUR屬性文件,那麼唯一的其他罪魁禍首就是Logger的實際實現。意思是,當這個依賴被注入時,用於實際執行日誌的類可能會忽略所有的日誌請求。 – gMale 2010-09-23 15:57:27

+0

我試過每個建議,但甚至無法使DEBUG模式工作。我相信-Dlog4j.debug是項目產品文件的參數......這讓我瘋狂! VM日誌文件位於何處? – marcolopes 2010-10-10 18:36:21

相關問題