Skip to content
日志门面(抽象层)日志实现
SLF4JLOG4J2 | LOGBACK

SLF4J:日志门面(抽象层),不实现日志功能,集成其他框架;任何日志框架(除LOGBACK)要适配SLF4J的话都要提供一个适配器

LOGBACK:日志实现

SLF4J:

xml
<dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
       <version>1.7.36</version>
</dependency>

LOGBACK:

xml
<dependency>
       <groupId>ch.qos.logback</groupId>
       <artifactId>logback-classic</artifactId>
       <version>1.2.11</version>
</dependency>

LogBack初始化

  1. logback会在类路径下找名为 logback-test.xml 的文件
  2. 如果没有找到,logback会继续寻找名为 logback.groovy 的文件
  3. 如果没有找到,logback会继续寻找名为 logback.xml 的文件
  4. 如果没有找到,将会通过JDK提供的ServiceLoader工具类路径下的文件,文件实现了Configurator接口的实现类的全限定类名
  5. 如果都没有成功,logback会通过BasicConfigurator为自己进行默认配置

LogBack日志打印级别

TRACE < DEBUG < INFO < WARN < ERROR

TRACE:跟踪级别

DEBUG:调试级别(默认)

INFO:信息级别

WARN:警告级别

ERROR:异常级别

logback.xml

xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>
    <root level="Debug">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

上面为基本的logback配置文件,root标签的意思所有的日志的级别,可以使用logger标签控制指定的(类 | 包)的级别(logger跟root同级)

xml
<logger name="xx.xxx.xxx" level="Debug"/>