Commons 閱讀筆記 之 Logging 篇

來源:互聯網
上載者:User
介紹
命令列參數解析、應用程式配置和日誌記錄,作為一個應用程式的骨架,隨處可見。因此,Apache軟體組織開發出了一套通用的類庫,用來協助軟體開發人員完成這些“骨架”的建立。其中:
•Commons CLI用於命令列解析
•Commons Configuration用於讀取properties格式或者XML格式的配置資訊
•Commons Logging和Log4J用來提供日誌支援。
這些通用的類庫都在http://jakarta.apache.org/commons/index.html網址上提供下載

Apache組織開發了一套用於支援Logging的Log4J,Java 1.4版本也引入了一套內建的Logging架構,如果開發人員想在這兩套Logging系統之間自由的切換,該怎麼辦呢?答案就是,使用Commons Logging。Commons Logging定義了一套抽象的Logging介面,使用者可以通過配置,使這些介面指向任何一個已存在的Logging系統。

•使用抽象Logging介面
問題:
你在編寫一個可以重複使用的庫,需要寫入Log資訊,但你不想使你的Logging功能綁定在Apache Log4J或者JDK 1.4 Logging架構上。
解決方案:


public static void main(String[] args) {//自己替換[]

  System.setProperty("org.apache.commons.logging.Log",
      "org.apache.commons.logging.impl.Jdk14Logger");
  Log log = LogFactory.getLog("com.discursive.jccook.SomeApp");

  if (log.isTraceEnabled()) {
    log.trace("This is a trace message");
  }

  if (log.isDebugEnabled()) {
    log.debug("This is a debug message");
  }

  log.info("This is an informational message");
  log.warn("This is a warning");
  log.error("This is an error");
  log.fatal("This is fatal");

}

LogFactory.getLog方法會根據底層環境返回一個適當的Log實現。如果使用者想指定一個具體的Logging系統實現,可以設定org.apache.commons.logging.Log系統屬性。例如:
System.setProperty("org.apache.commons.logging.Log",
"org.apache.commons.logging.impl.Log4JLogger");
這樣就會使用Log4J作為Logging系統。
org.apache.commons.logging.Log可以設定為:
•org.apache.commons.logging.impl.Log4JLogger  使用Log4J
•org.apache.commons.logging.impl.Jdk14Logger  使用JDK 1.4 Logging架構
•org.apache.commons.logging.impl.SimpleLog  使用Commons Logging內建的簡單Log實現
其他:
總結一下,Commons Logging會按照下列順序來指定具體的Log實現。
•如果定義了org.apache.commons.logging.Log系統參數,實用指定的Logging實現。
•如果在CLASSPATH裡發現了Log4J,使用Log4J。
•如果使用的是JDK1.4,使用JDK1.4內建的Logging架構。
•如果都沒有找到,則使用Commons Logging內建的簡單Log實現。

翻譯作者:
與java共舞-稀飯

轉自:http://www.matrix.org.cn/resource/article/1/1436.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.