1、jcl
jcl底層依賴於log4j和jul,如果有log4j就使用log4j記錄日志,沒有就是用jul
spring5底層日志系統依賴的是spring-jcl,和傳統的jcl(common-logging.jar)有區別,首先是嘗試加log4j2里面的一個ExtendedLogger,然后嘗試加載slf4j SPI,再次就是嘗試slf4j API如果沒有就加載jul,
所以我們使用打算控制日志級別一定要采用log4j2或者slf4j。slf4j spi 是slf4j的擴展,差別不大。
使用slf4j和jcl一樣是通用,但是使用slf4j需要添加各種日志綁定器,除了logback自己實現了綁定器以外,其余的都需要額外引入jar包。slf4j文檔地址http://www.slf4j.org/manual.html
slf4j還有一個橋接的概念就是將其他日志系統橋接到slf4j上,使用橋接器的時候一定要防止循環,http://www.slf4j.org/legacy.html文檔地址。