异常信息
Caused by: org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4
分析
根据异常信息分析,可以看出是slf4j的实现有两个依赖,只需要移除log4j-slf4j-impl或log4j-to-slf4j其中一个库的依赖,确保项目中只存在其中一个库即可。
使用mvn分析依赖树
这两个库绝大部分原因都不是你手动引入的,而是引入了其他库从而附带引入了。我们通过mvn工具,分析依赖,找出是哪个库依赖的,然后用exclusion排除掉就好了。
︎mvn dependency:tree > d.txt
查看生成后的依赖内容:
使用exclusion排除log4j-to-slf4j的依赖就行了
<dependency><groupId>com.xxx.cloud</groupId><artifactId>xx-cloud-framework-starter-logback</artifactId><version>${xxxx-cloud-framework-starter-logback.version}</version><exclusions><exclusion><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-to-slf4j</artifactId></exclusion></exclusions></dependency>
然后刷新一下依赖,重启服务即可。