【发布时间】:2018-04-10 21:04:03
【问题描述】:
JDBI 有一个 slf4j 依赖,所以大概它有日志工具。如何激活它?我将 logback 添加到我的项目中,并正确配置(通过简单的测试验证),但 JDBI 没有任何结果。
【问题讨论】:
标签: java logging logback slf4j jdbi
JDBI 有一个 slf4j 依赖,所以大概它有日志工具。如何激活它?我将 logback 添加到我的项目中,并正确配置(通过简单的测试验证),但 JDBI 没有任何结果。
【问题讨论】:
标签: java logging logback slf4j jdbi
好的,问题是 JDBI 的日志记录设置在 TRACE 级别,而我只查看 DEBUG。我通过查看 github 上的源代码验证了这一点:
https://github.com/jdbi/jdbi/blob/master/core/src/main/java/org/jdbi/v3/core/Jdbi.java
LOG.trace("Jdbi [{}] 获得句柄 [{}] in {}ms", this, h, (stop - start) / 1000000L);
【讨论】:
如果您使用的是 JDBI3,则需要在 JDBI 托管对象中设置一个 sql 记录器,以获取记录的 sql 语句。 您可以在 SqlLogger 中覆盖多个 API,例如用于打印 sql 语句、参数和 timeTaken 的 logBeforeExecution、logAfterExecution。
我在https://prasunejohn.blogspot.com/2020/10/jdbi-3-how-to-enable-sql-logging.html添加了一个使用 logAfterExecution 的 SqlLogger 示例
【讨论】: