2013-05-16 81 views
0

我有一個項目,我使用我自己的實用程序庫(.jar文件)。我如何在我的主項目中查看實用程序庫中的日誌?他們都配置了log4j.xml文件。log4j。如何從依賴庫中捕獲日誌事件

+0

您是否知道該實用程序庫如何配置其日誌記錄?你可以修改它的'log4j.xml' –

+0

@MisrableVariable是的,它是我自己的庫,我有所有的源代碼並且可以修改它。但是我需要改變?這是關於'additivity'選項? – MyTitle

回答

2

創建庫時,不要在該庫中包含日誌記錄配置文件。 Log4J將抓取它在類路徑中找到的第一個配置文件,這意味着您的庫文件可能會覆蓋用戶設置。他們會恨你的。

只有您應該打包日誌記錄配置文件的位置在最終的應用程序中。

如果你想登錄你的測試,在一個只測試的類路徑中包含一個日誌配置(像Maven和Ant這樣的工具使你非常容易)。

+0

謝謝,我會在'root'記錄器上捕獲來自庫的所有日誌消息?但其他庫也會登錄到根記錄器?那麼,我如何才能從我的實用程序庫和最終應用程序(而不是所有的依賴庫)捕獲日誌?我需要在'log4j.xml'中提供新的'logger'部分和我的實用程序庫的名稱? – MyTitle

+0

@MyTitle - 正好。你通常會將你的根記錄器設置爲'WARN'或'ERROR',然後爲你想要更加註意的日誌添加特定的配置(例如,我把'org.hibernate'設置爲'INFO',並且可以根據需要增加到「DEBUG」或「TRACE」)。 – parsifal