日志框架:
日志接口层:
JCL(jakarta comms logging)
SLF4J(simple logging facade for java)
jboss-logging
日志实现:
Log4j
JUL(java.util.logging)
Logback (对log4j的升级)
Log4j2
springboot选用的是slf4j + logback;
SLF4J + logback:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Test {
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger(Test.class);
logger.info("hello test log");
System.out.println(logger.getClass().getName()); //ch.qos.logback.classic.Logger 底层logback实现
}
}
如何让系统中所有的日志都统一到slf4j;
1、将系统中其他日志框架先排除出去;
2、用中间包来替换原有的日志框架;
3、我们导入slf4j其他的实现
底层依赖关系
引入jar
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
排除其他日志实现
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-logging</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>