2016-07-08 4 views
0

У меня есть приложение Dropwizard с использованием JDBI и SQL Server. Я бы хотел, чтобы все инструкции 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: // StackOverflow .com/вопросы/23564383/как к печати, заместитель SQLQuery-аннотаций-в-jdbi-SQL-апи/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