J2SE - 關於Commons-Logging、Slf4j、Log4j、Logback的整理
一、Commons-Logging
是Apache提供的一個通用的日誌介面。使用者可以自由選擇第三方的日誌框架如Log4j作為具體實現。Commons-Logging通過動態查詢的機制,在程式執行時自動找出真正使用的日誌庫。好處就是程式碼依賴是Common-Logging而Log4j,避免了和具體的日誌方案直接耦合
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class Tst {
private static Log logger = LogFactory.getLog(Tst.class);
public void test(){
logger.info("order. id=" + o.getId() + ".");
}
}
二、Slf4j
即簡單日誌門面(Simple Logging Facade for Java),類似於Commons-Logging,是對不同日誌框架提供的一個門面封裝,不同的是它是在編譯時靜態繫結真正的Log庫。任何一種基於Slf4j的實現都要有一個繫結org.slf4j.impl.StaticLoggerBinder的類。如果有任意兩個實現Slf4j的包同時出現就可能出現問題
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Tst {
private static final Logger logger = LoggerFactory.getLogger(Tst.class);
public void test(){
logger.info("order. id={}.", o.getId());
}
}
三、Log4j
是Apache的一個開放源日誌框架,通過使用Log4j可以控制日誌資訊輸送地是控制檯、檔案、GUI元件、套介面伺服器等,也可以控制每一條日誌的輸出格式、定義每一條日誌資訊的級別等,這些都僅通過一個配置檔案就可以靈活地進行配置而不需要修改程式程式碼
四、Logback
是由Log4j創始人設計的又一個開源日記框架,將作為Log4j的替代和Slf4j組成新的日誌系統的完整實現。Logback當前分成三個模組:Logback-Core是其它兩個模組的基礎模組;Logback-Classic是一個完整實現Slf4j Api的Log4j的改良版本;Logback-Access模組與Servlet容器整合提供通過Http來訪問日誌的功能
五、最後
1、Commons-Logging 和 Slf4j只是一種日誌抽象門面,不是具體的日誌框架;Log4j 和 Logback是具體的日誌框架
2、Slf4j支援引數化的Log字串,避免了字串拼接的麻煩和效能損耗;Logback的整體效能也比Log4j更佳
3、一般首選使用Slf4j+Logback,或者Slf4j+Log4j、Commons-Logging+Log4j
相關文章
- commons-logging,log4j,logback,slf4j之間的關係詳解
- commons-logging + log4j原始碼分析原始碼
- 一文讀懂常用日誌框架(Log4j、SLF4J、Logback)有啥區別框架
- logback + slf4j idea配置使用技巧Idea
- 帶你深入Java Log框架,徹底搞懂Log4J、Log4J2、LogBack,SLF4JJava框架
- Logback詳細整理,基於springboot的日誌配置Spring Boot
- Java中的日誌管理:SLF4J與LogbackJava
- SLF4J 和 Logback 在 Maven 專案中的使用方法Maven
- J2SE - 關於SimpleDateFonnat的執行緒安全問題執行緒
- 關於rpc的整理和理解RPC
- 關於Mybatis中SQL語句的整理MyBatisSQL
- 從log4j切換到logback後專案無法啟動
- 關於Visual Studio快捷鍵整理
- 基於slf4j的日誌工具類
- JavaScript關於陣列的一些方法整理JavaScript陣列
- logback的使用和logback.xml詳解XML
- 關於單連結串列反轉的一點整理
- 關於 Laravel 設定跨域的中介軟體整理Laravel跨域
- 自己整理的關於windows圖形介面的問題Windows
- SpringBoot中的slf4j日誌依賴關係Spring Boot
- 為什麼阿里巴巴禁止工程師直接使用日誌系統(Log4j、Logback)中的API阿里工程師API
- 為什麼阿里巴巴禁止工程師直接使用日誌系統(Log4j、Logback)中的 API阿里工程師API
- spring cloud多模組專案框架搭建-整合SLF4J和log4j日誌元件SpringCloud框架元件
- 關於ES6、ES7的常用語法整理
- springboot超級詳細的日誌配置(基於logback)Spring Boot
- Logback配置檔案這麼寫,還愁不會整理日誌?
- J2SE入門(五) final關鍵字淺析
- logback 的屬性
- 關於雲平臺,目前已售/已用的雲伺服器整理伺服器
- 關於springmvc中常用的註解,自己也整理一下SpringMVC
- 關於一些爬蟲專案教程的整理(轉載)爬蟲
- 前端筆記(關於css盒模型知識整理)前端筆記CSS模型
- logback的簡單配置
- Logback配置
- 關於Paging + Room,RecyclerView重新整理時的空指標異常OOMView指標
- 整理一下關於jq佇列和回撥佇列
- 關於效能測試時線上介面訪問比例的整理的問題
- 最全的Logback快速實踐