当 "slf4j-api" 和 "slf4j-simple" 已经导入时如何解决 "No SLF4J providers were found"?

How to solve "No SLF4J providers were found" when the "slf4j-api" and "slf4j-simple" are already imported?

我在 gradle 项目中使用 Guice。 运行 main 方法时,出现以下错误:

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.

我做了一些研究,并在 build.gradle 文件的 dependencies 部分添加了两个依赖项,如下所示:

dependencies {
    ...
    implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.0-alpha1'
    testImplementation group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.0-alpha1'
}

但是错误依然存在...

我是否需要通过 Guice 将 SLF4J 提供程序与某些东西绑定?

我的main方法很简单,所以Guice的AbstractModuleclass如下图(不知道有没有关系):

public class Restful {
    public static void main(String[] args) {
        Injector injector = Guice.createInjector(new ApplicationModule());
    }
}

public class ApplicationModule extends AbstractModule {
    @Override
    protected void configure() {
        bind(UserDao.class).toInstance(new UserDao());
    }
}

提前致谢!

您仅在测试范围内添加了 slf4j-simple,您还希望在运行时范围内添加它。

即在构建定义中将 testImplementation 更改为 implementation