springboot3.x版本集成log4j冲突以及解决log4j冲突不生效问题
作者:Smileassissan
由于Spring Boot自带的Logback与Log4j冲突,去除了Logback的jar包后仍存在,原因是其他包也引入了Logback,解决方法是找到并去除引入Logback的其他包,如actuator包,并更新Maven
springboot3.x版本集成log4j冲突及log4j冲突不生效
由于springboot自带的日志logback会与log4j冲突,因此在网上搜了之后,进行了去除操作
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> </exclusion> </exclusions> </dependency>
但是我发现去除了之后,logback的jar包依旧存在
解决方案
这可真是纳了闷了,我一度以为是我的maven没有生效,疯狂的进行maven更新以及clean和install,结果发现都不起作用,当时都崩溃了,不明白为啥已经去除了还存在,网上搜了一下,才知道有可能是其他的包也引入了logback,也就是需要找到哪里引入的,依旧查看maven的包,找到罪魁祸首了,因为我还引入了actuator包,这个包也引入了logback
那么接着把这个包里面的logback也给去除掉
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> </exclusion> </exclusions> </dependency>
更新maven之后,问题解决
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。