日志框架:
    日志接口层:
    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:

    1. import org.slf4j.Logger;
    2. import org.slf4j.LoggerFactory;
    3. public class Test {
    4. public static void main(String[] args) {
    5. Logger logger = LoggerFactory.getLogger(Test.class);
    6. logger.info("hello test log");
    7. System.out.println(logger.getClass().getName()); //ch.qos.logback.classic.Logger 底层logback实现
    8. }
    9. }

    如何让系统中所有的日志都统一到slf4j;
    1、将系统中其他日志框架先排除出去;
    2、用中间包来替换原有的日志框架;
    3、我们导入slf4j其他的实现

    底层依赖关系
    image.png

    引入jar

    1. <dependency>
    2. <groupId>org.springframework.boot</groupId>
    3. <artifactId>spring-boot-starter-log4j2</artifactId>
    4. </dependency>

    排除其他日志实现

    1. <exclusions>
    2. <exclusion>
    3. <artifactId>spring-boot-starter-logging</artifactId>
    4. <groupId>org.springframework.boot</groupId>
    5. </exclusion>
    6. </exclusions>