场景:使用slf4j+log4j2做日志
bug描述:存在多个日志实现
SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/E:/space/MavenRepository/maven_jar/ch/qos/logback/logback-classic/1.2.10/logback-classic-1.2.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/E:/space/MavenRepository/maven_jar/org/apache/logging/log4j/log4j-slf4j-impl/2.17.1/log4j-slf4j-impl-2.17.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
翻译:日志实现的绑定有两个,我本人想用log4j2,所以exclusion掉logback-classic就行。
做法:使用maven工具,找到logback-classic依赖在哪里导入的,然后在exclusion。
一,Maven依赖图
二,ctrl+F,输入logback-classic,找logback-classic依赖,双击点进去
三,依赖传递:spring-boot-starter下spring-boot-starter-logging下logback-classic
那就知道了怎么做了,导入spring-boot-starter然后exclusion掉logback-classic.
在pom.xml中日志依赖部分:
org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-logging ch.qos.logback logback-classic org.slf4j slf4j-api 1.7.33 org.springframework.boot spring-boot-starter-log4j2 2.6.3
log4j2测试成功



