在项目中,想要使用 log4j2 而移除了默认的 logback 日志系统,但是在 IDEA 上无论如何执行,都显示下面的错误。然后日志信息就停止了。
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details
配置如下:
build.gradle:
configurations {
all {
/// 在所有项目中移除 默认的 logging
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
exclude module: 'logback-classic'
exclude module: "logback-core"
}
}
dependencies {
implementation "org.springframework.boot:spring-boot-starter-log4j2:${version_spring}"
implementation "org.springframework.boot:spring-boot-starter-data-jpa:${gradle.ext.version_spring}"
implementation "org.springframework.boot:spring-boot-starter-security:${gradle.ext.version_spring}"
implementation "org.springframework.boot:spring-boot-starter-web:${gradle.ext.version_spring}"
implementation "org.springframework.boot:spring-boot-starter-websocket:${gradle.ext.version_spring}"
runtimeOnly 'org.postgresql:postgresql:42.2.24.jre7'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
}
settings.gradle:
gradle.ext.version_spring="2.5.5"
解决方法:

这是在命令行中执行了 gradle clean build && gradle bootRun 命令后,没有出现该错误。
猜测原因是因为 IDEA 的缓存依赖等问题。重新手动更新一下就好了。

在尝试将Spring Boot项目的日志系统从logback切换到log4j2时遇到SLF4J错误。通过在build.gradle中排除logback相关依赖并引入log4j2依赖,但在IDEA中执行时仍然出现问题。执行gradle clean build && gradle bootRun命令后,问题得到解决,推测可能是IDEA的依赖缓存导致。解决方案是清理IDEA缓存并重新构建项目。
3021

被折叠的 条评论
为什么被折叠?



