1.首先两个依赖不能少
<!--lombok 包含了slf4j -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<version>1.18.16</version>
</dependency>
<!--logback 依赖-->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<!--logback-classic中已经引入了slf4j-api和logback-core依赖-->
</dependency>
依赖少了会报错
2.application.yml中的配置不能少
配置你需要用到的logback.xml文件的位置,不能少,少了会报错。
#必须要配置这个要不然会报错
#logging:
# config: classpath:log/logback.xml
logging:
config: classpath:log/logback-dev.xml
3.logback的配置文件
看这张图即可明白
到这里我们使用@slf4j注解写的日志输出就和logback集成在一起了,如果配置了文件输出就会输出到文件里边了。
Slf4j和logback Jar包冲突问题解决。
1.情景复现:
SLF4J: Class path contains multiple SLF4J bindings.
翻译:类路径包含多个SLF4J绑定。
SLF4J: Found binding in [jar:file:/D:/MyMavenRespository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/MyMavenRespository/org/apache/logging/log4j/log4j-slf4j-impl/2.13.3/log4j-slf4j-impl-2.13.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
两个jar包都有这个类,然后第一行日志也说了是jar包冲突了。
2.排查问题,找这两个包,搜slf4依赖,通过搜slf4j找到这两个logback-classic-1.2.3.jar,log4j-slf4j-impl-2.13.3.jar包,找到各自的父依赖,排除掉一个即可。
这个还是藏得深,在工程的根pom文件中,排除即可解决问题。
结果:没有红色日志了。
控制台日志输出:
文件日志输出: