我在 JVM 上使用 sqldelight v2.0.1 和 sqlite。当我运行应用程序时,我总是收到以下日志行:
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.
我的应用程序是 CLI 工具,我不希望最终用户看到这些消息。我已经尝试在 Gradle 中手动添加 SLF4J 作为依赖项(如日志中提到的帮助页面所述),但它不起作用。 有什么办法可以禁用此类日志吗?
这就是我为停止
StaticLoggerBinder
日志所做的事情。我知道你说过你尝试过这个,但也许它是错误的版本,或者添加到错误的类路径中。不管怎样,这对我今天有用。运行单元测试时我不再收到警告,这是我的问题。
./gradlew app:dependencies | grep slf4j
,其中 app
是我的模块名称。sqlite-driver
2.0.2,它是 org.slf4j:slf4j-api:1.7.36
。app
模块的 build.gradle.kts
中,我添加了: testImplementation("org.slf4j:slf4j-nop:1.7.36")
显然,如果您在测试类路径之外获取此日志,请将依赖项添加为
implementation(...)
。希望有帮助。