2016-07-08 28 views
0

我有一个使用JDBI和SQL Server的Dropwizard应用程序。我想获取所有使用参数记录的SQL语句,但我似乎无法做到。完整的SQL语句登录Dropwizard

这是什么一般建议做: logging: level: INFO loggers: "org.skife": TRACE "com.microsoft.sqlserver.jdbc": TRACE

但这只是日志报表,没有参数:

TRACE [2016-07-08 16:40:27,711] org.skife.jdbi.v2.DBI: statement:[/* LocationDAO.detail */ EXEC [api].[GetCountryCodes] @CountryId = ?] took 487 millis DEBUG [2016-07-08 16:37:44,499] com.microsoft.sqlserver.jdbc.Connection: ENTRY /* LocationDAO.detail */ EXEC [api].[GetCountryCodes] @CountryId = ?

有没有什么办法让对数据库的实际语句运行?

+0

看一看这个问题,HTTP://计算器.COM /问题/ 23564383 /如何到印刷最sqlquery的-注释功能于jdbi-SQL API/30549524#30549524 – Manikandan

回答

1

使用p6spy似乎是最简单的方法。只需添加相关性:

<dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>2.3.1</version> </dependency>

在数据库配置,使用P6SPY类,而不是稍微修改连接URL

database: driverClass: com.p6spy.engine.spy.P6SpyDriver url: jdbc:p6spy:sqlserver://10.0.82.95;Database=psprd1