slf4j, log4j, logback, java.util.Logging關係

原文鏈接:https://www.oschina.net/translate/why-use-sl4j-over-log4j-for-logging

根據這個得到一些體會,如有錯誤,歡迎指正:

1.slf4j是日誌的整體抽象層,log4j,logback,java.util.Logging都是不同的實現類,需要哪種實現方式直接引入對應的jar就行

2.SLF4J有個佔位功能,類似String.format()方法中的%s

下面是你用Log4j時的做法,當然這並不好玩而且它增加了不必要的公式化的代碼,減少了代碼的可讀性。

if (logger.isDebugEnabled()) {
        logger.debug("Processing trade with id: " + id + " symbol: " + symbol);
}

而如果你使用SLF4J,你可以使用更簡潔的格式達到同樣的效果,如下:

logger.debug("Processing trade with id: {} and symbol : {} ", id, symbol);

3.假如使用log4j,各個jar功能如下:

slf4j-api-1.6.1.jar - JAR for SLF4J API
log4j-1.2.16.jar - JAR for Log4J API
slf4j-log4j12-1.6.1.jar - Log4J Adapter for SLF4J

4.如果使用maven管理,可以只引入如下,裏面依賴會自動引入其餘兩個

<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.6.1</version>
</dependency> 
發佈了20 篇原創文章 · 獲贊 7 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章