Запись запросов в базу данных H2 с Play Framework

Я использую базу данных H2, в памяти, в рамках Play Framework (1.2.7).

Для того, чтобы журнал всех запросов я добавил ;TRACE_LEVEL_FILE=3 в конце этих параметров в Play's application.conf:

  1. db.url
  2. %prod.db.url
  3. %debug.db.url

Но ничего не происходит, кажется, что на машине (Mac) не создается и не обновляется файл, даже несмотря на то, что с БД определенно есть активность (когда я перехожу к веб-интерфейсу H2, я вижу, что было написано много записей).

Что мне не хватает? Как я могу получить журнал для записи?

1 ответ

Я не знаю о TRACE_LEVEL_FILE но вы можете попробовать использовать p6spy.

Добавьте следующее к вашему dependencies.yml

- p6spy -> p6spy 2.1.2:
    exclude:
      - p6spy -> p6spy-signedjar-test

Бег play deps

Теперь отредактируйте ваш `application.conf'следующим образом:

# Comment out the default test URL
#%test.db.url=jdbc:h2:mem:play;MODE=MYSQL;LOCK_MODE=0
# Use the p6spy driver
%test.db.driver=com.p6spy.engine.spy.P6SpyDriver
%test.db.url=jdbc:p6spy:h2:mem:play;MODE=MYSQL;LOCK_MODE=0
# Tell the p6spy driver to use the H2 JPA dialect
%test.jpa.dialect=org.hibernate.dialect.H2Dialect

Наконец, создайте conf/spy.properties и вставьте в него следующее:

appender=com.p6spy.engine.spy.appender.StdoutLogger
realdatasourceclass=org.h2.Driver

Вот и все, вы хорошо идти. Запустите ваше приложение с play test и вы увидите все запросы к базе данных, записанные на стандартный вывод.

Есть много других опций, которые можно настроить в spy.properties,

Другие вопросы по тегам