common.logging和log4j比較

來源:互聯網
上載者:User

標籤:

apache common logging是一種log的架構介面,它本身並不實現log記錄的功能,而是在運行時動態尋找目前存在的日誌庫,調用相關的日誌函數,從而隱藏具體的日誌實現
log4j是具體的日誌實現,真正負責"寫"日誌的這個功能

common logging本身不是log,你可以把它看做是一個日誌的介面
而log4j就是日誌的實現

使用common logging方式實現日誌,主要的原因在於可以忽略底層的日誌實現,或者說為以後的日誌實現庫的更換提供透明介面
你可以考慮下,假設從log4j更換為logback,勢必要重寫所有原本使用log4j的原始碼,而使用common logging的情況下,只需要更換jar包,而不需要對原始碼做任何改動

 

 

做日誌的時候一般是兩者一起用,commons-logging工作原理做介面,log4j做實現,應用起來比單獨的使用log4j要簡單

commons-logging工作原理:
1. 首先在classpath下尋找自己的設定檔commons-logging.properties,如果找到,則使用其中定義的Log實作類別
2. 如果找不到commons-logging.properties檔案,則在尋找是否已定義系統內容變數org.apache.commons.logging.Log,找到則使用其定義的Log實作類別
3. 查看classpath中是否有Log4j的包,如果發現,則自動使用Log4j作為日誌實作類別
4. 使用JDK自身的日誌實作類別(JDK1.4以後才有日誌實作類別)
5. 使用commons-logging自己提供的一個簡單的日誌實作類別SimpleLog
(以上順序不保證完全準確,請參考官方文檔)
commons-logging總是能找到一個日誌實作類別,並且儘可能找到一個"最合適"的日誌實作類別. 

common.logging和log4j比較

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.