2016-07-08 33 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