问题
Spring Boot整合Log4j2.xml的时候返回以下错误:
Caused by: org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4j
进行了解决。
解决
Spring Boot整合Log4j2.xml经过以下操作:
- 配置
log4j2.xml
- 添加到
src/main/resources
目录下 - Gradle的配置:在
build.gradle
中添加:
dependencies {
...
implementation "org.springframework.boot:spring-boot-starter-log4j2"
...
}
启动应用,返回以下错误:
Caused by: org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4j
解决方法如下:
我们需要将spring-boot-starter-logging
这个模块从所有的库中排除。这里我在build.gradle
中使用了以下配置:
configurations {
all {
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
}
}
再次启动应用,问题解决。
参考
Spring Boot 18.7.2. Configure Log4j for Logging
howtodoinjava: Spring Boot Log4j2.xml Example
Stackoverflow: Caused by: org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4j