天天看點

幾種常見的JAVA日志架構的簡單介紹

接口級别的Java日志架構:slf4j 和common-log

實作級别的:JDK自帶的, log4j, log4j2, logback(這個是slf4j旗下的具體實作)

為什麼會有接口呢?是為了友善日志架構的選擇:slf4j 和common-log 都能自動識别你要用的日志的架構(也就是實作級别的日志架構),

大緻的原理是這兩個接口會根據你引進的jar包來調用相應的實作,如果同時引進了多個,會根據自帶的classloader掃描的順序進行調用,

但是slf4j 需要一個中間的轉換橋梁,類似于slf4j-log4j12-1.7.22這樣的,不用擔心你找不到轉換器,slf4j官方提供這些轉換器.

是以 slf4j 的實作大緻是slf4j.api +slf4j-log4j12-1.7.22(轉換器)+log4j(具體的日志架構實作)

而common—log 就很牛逼了,這個不需要任何中間件, 使用方式是 common-log.api +(具體的日志架構實作)

當然直接使用實作級别的日志架構也可以,隻是少了靈活性,比如你現在正在用的jdk自帶的日志架構,是以你在code裡面引進的類的時候肯定也是jdk的類,

如果你現在要是用log4j這樣的日志架構,你就需要把log4j的jar包加進去,然後還要修改code。

如果我們使用日志架構接口呢, 引進class類的時候是接口類,  我們呢,隻需要導入對應的jar包,寫好相應的日志配置檔案,就可以了,當然如果是slf4j還要引入對應的轉換器.

貼個連結:http://www.importnew.com/16331.html

繼續閱讀