2011-11-11 99 views

回答

0

我想你是在談論調試日誌?使用log4j

if (log.isDebugEnabled()) { 
    log.debug("xxxxxxxxxxxxxxxxxxxxxxx"); 
} 

UPDATE:log4j的可以爲特定的類配置log level:放在log4j.properties

log4j.logger.com.test.Test=DEBUG 
+0

我的問答實際上是我的記錄如何與「外部」記錄一致。他們的日誌記錄級別已經在應用程序中。他們想爲API調用設置不同的日誌記錄。 – user1041035

+0

這是log4j可以做的事情,請檢查我的更新答案。 –

+0

非常感謝,這有助於很多。 – user1041035

2
  1. 在不同級別登錄以下幾點:調試級別的基本事實細節,有用信息,警告壞事。
  2. 提供通過接口暴露您的API以便輕鬆模擬的測試方法。這允許多種場景在API內部以及使用它的代碼中進行測試。
  3. 提供擴展點(使用相同的接口)以儘可能地滿足不可預見的需求。 (你不會得到他們全部,但這是它的方式。)
  4. 提供代碼樣本和/或單元測試,這些代碼樣本和/或單元測試運用了API的大部分功能。
  5. 提供書面文檔,說明爲什麼事情按照他們的方式工作。該代碼解釋了它如何工作
0

如果你只是發佈一個JAR,那麼首先不要依賴log4j,而是讓你的用戶插入他們自己的「LoggerFactory」。您在代碼中獲得的所有「記錄器」都是通過該工廠以與從log4j中檢索它們相同的方式(例如通過傳遞類名稱)獲得的,並且應該具有相似的級別。

這樣,想要使用log4j的客戶仍然可以,而使用另一個記錄器的客戶可以通過jiffy將其插入。