幾種常見的JAVA日誌框架的簡單介紹
阿新 • • 發佈:2018-12-27
介面級別的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