java - 如何使用 jdbi 在我的项目中引入 SqlLogger?

我正在使用 jdbi v3,我最近想添加一个记录器来检查我的查询语句。

检查文档我发现了这个 https://jdbi.org/#_sqllogger

指的是这个类https://jdbi.org/apidocs/org/jdbi/v3/core/statement/Slf4JSqlLogger.html

不幸的是,我没有发现任何关于这个类的记录、依赖关系或任何信息,似乎不再存在?它是一个可能被删除的新依赖项吗?还是我应该做一些特别的事情来包括它?有什么想法吗?

回答1

确保您使用的是最新版本的 Jdbi 3 核心 JAR(当前为 v3.28.0)。

作为 Maven 依赖项:

<dependency>
    <groupId>org.jdbi</groupId>
    <artifactId>jdbi3-core</artifactId>
    <version>3.28.0</version>
</dependency>

我相信这个类是在 v3.19.0 中首次引入的。

作为替代方案,如果您不想(或无法)升级,您可以从 org.jdbi.v3.core.statement.SqlLogger 接口创建自己的类。

就像是:

public class MyLogger implements SqlLogger {

    @Override
    public void logAfterExecution(StatementContext ctx) {
        ...
        ctx.getParsedSql()...;
    }

}

相似文章

kotlin - JDBI 泄漏线程

即使我看到SQLitetable正在填充,但由于线程泄漏,测试失败。当我介绍使用JDBI写入SQLitetable时,问题开始出现。JDBI是否存在已知的线程泄漏问题?我将如何进一步调试它?(http...