0

Play Framework (1.2.7) 内で H2 データベースをインメモリで使用しています。

;TRACE_LEVEL_FILE=3Play のこれらのパラメーターの最後に追加したすべてのクエリのログを取得するには、次のようにしますapplication.conf

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

しかし、何も起こらず、マシン (Mac) でファイルが作成または更新されていないように見えますが、DB で確実にアクティビティが行われています (H2 の Web インターフェイスを参照すると、多くのレコードが書き込まれていることがわかります)。

私は何が欠けていますか?ログを書き込むにはどうすればよいですか?

4

1 に答える 1

2

わかりませんが、 p6spyTRACE_LEVEL_FILEを試してみてください。

以下を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

于 2014-11-29T09:50:06.097 に答える