可能遇到的jar包:

(來(lái)源:http:///docs/logging.html#d0e14854)
commons-logging apache最初的日志門(mén)面,目的是在開(kāi)發(fā)組件時(shí)不強(qiáng)依賴(lài)日志實(shí)現(xiàn),給調(diào)用者以選擇。 jcl-over-slf4j slf4j開(kāi)發(fā)的為了兼容前者的適配,里面的內(nèi)容和前者基本一致,引用時(shí)和前者互斥。 slf4j-api slf4j的主api,作為獨(dú)立的日志門(mén)面。 slf4j-log4j slf4j對(duì)log4j的適配,要和log4j包一起引用 log4j log4j實(shí)現(xiàn) logback-classic logback實(shí)現(xiàn)。 引用關(guān)系: 目前項(xiàng)目中的log4j引用比較混亂??捎玫囊蕾?lài)和使用方式由如下那么幾種:
1. log4j-1.2.16.jar 不使用框架,僅使用實(shí)現(xiàn)。項(xiàng)目中不常使用 使用Logger.getLogger()
2.commons-logging + log4j 簡(jiǎn)單門(mén)面+實(shí)現(xiàn) 使用 import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; private static final Log logger = LogFactory.getLog(CourseCenterUnitTestBase.class);
3. jcl-over-slf4j + slf4j-api + slf4j-log4j + log4j slf4j門(mén)面+log4j實(shí)現(xiàn)。 官方解釋是這個(gè)組合,解釋為jcl-over-slf4j的作用是把a(bǔ)pache的門(mén)面嫁接到slf4j的門(mén)面。我測(cè)試了一下,實(shí)際上commons-logging + slf4j-api + slf4j-log4j + log4j 貌似也行得通。 使用 import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static final Logger logger = LoggerFactory.getLogger(CourseCenterUnitTestBase.class);
4.jcl-over-slf4j + slf4j-api + logback-classic slf4j門(mén)面+logback實(shí)現(xiàn)。沒(méi)使用過(guò),相信網(wǎng)上一大堆。
|