java中的日志主要是針對slf4j氧敢,以下涉及到的jcl具體是指引用common-logging的jar包,jul指的是java.util.logging褥赊。
首先我們說說jcl的具體用途:
比如說一個框架使用的是jcl日志的形式蝌麸,但是我們的應(yīng)用卻用的是另外一種日志,比如是log4j咕村,那么jcl就會自動的適配到我們的應(yīng)用中的log4j日志场钉,統(tǒng)一都使用log4j。common-logging通過動態(tài)查找的機制懈涛,在程序運行時自動找出真正使用的日志逛万。應(yīng)該說它能適配的有l(wèi)og4j和jul,但是jcl中自帶一種simper logger的簡單實現(xiàn)批钠,一般情況下是用不到的宇植,因為jdk中肯定是有jul的。那么通常的搭配就是common-logging + log4j埋心,如下:
適配到log4j指郁,具體日志實現(xiàn)是log4j
接下來就是我們最常用的slf4j:
首先slf4j是簡單日志門面,是接口拷呆,類似于commons-logging闲坎,是對不同日志框架的一個門面封裝疫粥,而不是具體實現(xiàn)。那么它與具體實現(xiàn)之間是需要一個橋接器來連接的腰懂,具體到不同的實現(xiàn)需要不同的橋接器jar包梗逮。而對于倆個使用不同日志的框架來說,如果想要統(tǒng)一成一個日志輸出悯恍,那么可以使用替換器(適配器),將其中一個框架的日志適配到另外一個的slf4j的日志框架伙狐,具體結(jié)構(gòu)如下
如果內(nèi)容對大家有所幫助涮毫,感謝打賞鼓勵!