SpringBoot项目Slf4j冲突问题及解决方案
作者:朱宏进
在Spring Boot项目中使用Log4j2替代默认的SLF4J实现时,可能会遇到多个SLF4J实现的冲突,通过调整pom.xml文件的配置顺序,并通过查看Maven依赖树形关系,找到并排除冲突的依赖(例如jdbc依赖中的logback),可以解决这个问题
解决日志slf4j冲突问题
问题描述
- springboot项目中打算使用log4j2作为日志实现框架,在pom.xml配置文件中进行如下配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--排除logback日志实现-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--添加log4j2依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
- 仍然报警告有多个Slf4j实现1日志框架
解决方案
- 经过更改pom.xml文件中的配置顺序,与查看maven依赖树形关系,找到jdbc依赖中同样有logback依赖更改为如下配置解决问题
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<!--排除logback日志实现-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
