【log4j】—日志记录log4j的Logger和commons.logging的Log的区别
1、做日志的時候一般是兩者一起用,commons-logging工作原理做接口,log4j做實現,應用起來比單獨的使用log4j要簡單。
commons-logging工作原理:
1.1 首先在classpath下尋找自己的配置文件commons-logging.properties,如果找到,則使用其中定義的Log實現類
1.2 如果找不到commons-logging.properties文件,則在查找是否已定義系統環境變量org.apache.commons.logging.Log,找到則使用其定義的Log實現類
1.3 查看classpath中是否有Log4j的包,如果發現,則自動使用Log4j作為日志實現類
1.4 使用JDK自身的日志實現類(JDK1.4以后才有日志實現類)
1.5 使用commons-logging自己提供的一個簡單的日志實現類SimpleLog
(以上順序不保證完全準確,請參考官方文檔)
commons-logging總是能找到一個日志實現類,并且盡可能找到一個”最合適”的日志實現類.
2、apache common logging是一種log的框架接口,它本身并不實現log記錄的功能,而是在運行時動態查找目前存在的日志庫,調用相關的日志函數,從而隱藏具體的日志實現。log4j是具體的日志實現,真正負責”寫”日志的這個功能;common logging本身不是log,你可以把它看做是一個日志的接口而log4j就是日志的實現;使用common logging方式實現日志,
主要的原因在于可以忽略底層的日志實現,或者說為以后的日志實現庫的更換提供透明界面;你可以考慮下,假設從log4j更換為logback,勢必要重寫所有原本使用log4j的源代碼,而使用common logging的情況下,只需要更換jar包,而不需要對源代碼做任何改動 ;
3、實際使用
private static Logger logger = Logger.getLogger(*.class);import org.apache.log4j.Logger;private static final Log log = LogFactory.getLog(*.class);import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory; 超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的【log4j】—日志记录log4j的Logger和commons.logging的Log的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在一台服务器上配置多个Tomcat的方法
- 下一篇: 判断一个字符串是否为数字