經過這段時間的學習,簡單總結一下。
-
最核心的接口:SLF4JServiceProvider,日誌實現類通過實現這個接口來綁定核心功能的實現。
-
SLF4J中有三個核心接口:
- ILoggerFactory: 獲取logger
- IMarkFactory:獲取marker,提供對marker的管理功能
- MDCAdapter:提供日誌系統的context功能
-
其他重要的類:
- LoggingEvent:日誌事件,用於日誌格式化的一個包裝類,裏邊包含來了Layout需要的數據,例如日誌消息,線程名,marker等等
- LocationAwareLogger:這個主要是給日誌實現類用於解析位置信息的,SLF4J不涉及此接口的實現,所以就不作分析了
-
設計模式:
- 工廠/抽象工廠模式
- 適配器模式
-
SPI機制:SLF4J通過SPI機制將api與其實現類綁定起來,參考文章