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

how can I introduce SqlLogger on my project with jdbi?

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

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

里面指的是这个classhttps://jdbi.org/apidocs/org/jdbi/v3/core/statement/Slf4JSqlLogger.html

很遗憾,我没有找到任何记录、依赖项或任何关于此 class 的信息,似乎已不存在?它是一个可能被删除的新依赖吗?还是我应该做一些特别的事情来包含它?有什么想法吗?

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

作为 Maven 依赖:

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

我相信 class 是在 v3.19.0 中首次引入的。


或者,如果您不想(或不能)升级,您可以从 org.jdbi.v3.core.statement.SqlLogger 界面创建自己的 class。

类似于:

public class MyLogger implements SqlLogger {

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

}