You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SqlDelight v2.0.1中禁用SLF4J日志提示?

解决SqlDelight CLI中SLF4J警告的方法

方法一:添加正确的SLF4J NOP依赖(确保生效)

你之前添加的依赖可能未匹配SqlDelight的类路径,或版本不兼容。在Gradle中添加SLF4J的NOP实现,确保它被包含在CLI运行类路径内:

Groovy DSL

dependencies {
    runtimeOnly 'org.slf4j:slf4j-nop:2.0.7' // 版本适配SLF4J 2.x,匹配SqlDelight 2.0.1的依赖版本
}

Kotlin DSL

dependencies {
    runtimeOnly("org.slf4j:slf4j-nop:2.0.7")
}

注意:若项目中有其他SLF4J绑定(如logback),需排除冲突,保证nop实现是唯一的SLF4J绑定。

方法二:通过JVM参数强制抑制输出

如果添加依赖仍无效,可在启动CLI时添加JVM系统属性,直接强制SLF4J使用NOP logger并关闭警告:

java -Dslf4j.nop=true -Dorg.slf4j.simpleLogger.defaultLogLevel=off -jar your-cli-app.jar

也可在Gradle的运行配置中内置这些参数:

Groovy DSL

tasks.withType(JavaExec) {
    jvmArgs = [
        "-Dslf4j.nop=true",
        "-Dorg.slf4j.simpleLogger.defaultLogLevel=off"
    ]
}

Kotlin DSL

tasks.withType<JavaExec> {
    jvmArgs = listOf(
        "-Dslf4j.nop=true",
        "-Dorg.slf4j.simpleLogger.defaultLogLevel=off"
    )
}

方法三:排除SqlDelight依赖中的SLF4J API(慎用)

如果CLI完全不需要日志功能,可尝试从SqlDelight依赖中排除SLF4J API,避免触发警告:

Groovy DSL

dependencies {
    implementation("app.cash.sqldelight:sqlite-driver:2.0.1") {
        exclude group: 'org.slf4j', module: 'slf4j-api'
    }
}

Kotlin DSL

dependencies {
    implementation("app.cash.sqldelight:sqlite-driver:2.0.1") {
        exclude(group = "org.slf4j", module = "slf4j-api")
    }
}

注意:此方法可能导致SqlDelight内部日志相关代码抛出异常,优先尝试前两种方法。


内容的提问来源于stack exchange,提问作者Essay97

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 12:42:35