如何在 org.slf4j 中启用登录版本:“2.0.0-alpha1”在 Spring boot 中

2022-09-04 04:44:44

我已使用SLF4J日志记录来打印所有日志。我正在使用最新版本的 org.slf4j。

实现 'org.slf4j:slf4j-api:2.0.0-alpha1'

实现 'org.slf4j:log4j-over-slf4j:2.0.0-alpha1'

但是我收到以下错误,也没有打印任何日志。

SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.
SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions prior to 1.8.
SLF4J: Ignoring binding found at [jar:file:/home/user/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.3/7c4f3c474fb2c041d8028740440937705ebb473a/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#ignoredBindings for an explanation.

日志在旧版本 (1.7.25) 中工作正常。是否需要在项目上添加或配置任何内容,以便可以打印这些日志


答案 1

它将打印添加 slf4j-log4j12 而不是 slf4j-api 的消息

删除以下内容

implementation 'org.slf4j:slf4j-api:2.0.0-alpha1'
implementation 'org.slf4j:log4j-over-slf4j:2.0.0-alpha1'

implementation group: 'org.slf4j', name: 'slf4j-log4j12', version: '+'

答案 2

这是因为 slf4j 是一个需要与其他预先存在的库绑定的抽象。因此,如果您仅使用slf4j来打印日志,它将不起作用,因为它没有日志记录级别等设置。

此外,Spring Boot的新版本与1.7.9版本的slf4j默认集成。


推荐