我在这里复习了几个关于这个问题的问题/答案,但是没有什么是现成的。我还阅读了正式文档中的SqlLogger部分,但仍然无法找到日志/可视化Jdbi (版本3.x)在与数据库交互时“正在做”的方式?-以一种简单的方式。
我知道Jdbi使用的是几乎原始的SQL,但是能够看到框架/库为调试目的所做的事情总是很好。
我尝试过从org.jdbi (在logback.xml文件中)开始的几乎任何名称空间,直到trace模式,但我只看到如下内容:
03-01-2021 19:52:26,656 |- TRACE in org.jdbi.v3.core.Jdbi:315 [reactor-http-epoll-2] - Jdbi [org.jdbi.v3.core.Jdbi@7a76fb45] obtain handle [org.jdbi.v3.core.Handle@725d5aec] in 0ms
03-01-2021 19:52:26,697 |- TRACE in org.jdbi.v3.core.Handle:187 [reactor-http-epoll-2] - Handle [org.jdbi.v3.core.Handle@725d5aec] released这些天有办法做到这一点吗?
发布于 2021-03-31 02:14:20
不是JDBI的回答,但是查看原始SQL的更通用的方法是使用JDBC代理,比如P6Spy或数据源-代理。
P6Spy允许通过装饰DataSource或存根JDBC驱动程序(不需要更改代码)进行拦截,并以格式打印日志:
p6spy: #1617156635 | took 0ms | statement | connection 3|SELECT NOW()Datasource-代理只支持装饰DataSource和打印:
n.t.d.l.l.SLF4JQueryLoggingListener:
Name:, Time:0, Success:True
Type:Statement, Batch:False, QuerySize:1, BatchSize:0
Query:["SELECT NOW()"]
Params:[]https://stackoverflow.com/questions/66431905
复制相似问题