JavaWinner 2019-11-03
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文档地址。