ロギング
Ebeanは、SLF4Jを使ってロギングします。
一般的なlogbackの構成
<logger name="io.ebean.DDL" level="TRACE"/>
<logger name="io.ebean.SQL" level="TRACE"/>
<logger name="io.ebean.TXN" level="TRACE"/>
<logger name="io.ebean.SUM" level="TRACE"/>
<!-- L2 logging -->
<logger name="io.ebean.cache.QUERY" level="TRACE"/>
<logger name="io.ebean.cache.BEAN" level="TRACE"/>
<logger name="io.ebean.cache.COLL" level="TRACE"/>
<logger name="io.ebean.cache.NATKEY" level="TRACE"/>
<!-- Testing with Docker containers -->
<logger name="io.ebean.docker" level="TRACE"/>
SQL
開発中は io.ebean.SQL
と io.ebean.TXN
のロギングを含むことが望まれます。これらには、実行されたSQL文、ステートメント実行のためのバインド値が記録されます。
<!-- SQL and bind values -->
<logger name="io.ebean.SQL" level="TRACE"/>
トランザクション
開発中は io.ebean.SQL と io.ebean.TXN のロギングを含むことが望まれます。これらには、トランザクションの区切りが記録されます。
<!-- Transaction Commit and Rollback events -->
<logger name="io.ebean.TXN" level="TRACE"/>
DDL
<logger name="io.ebean.DDL" level="TRACE"/>
Dockerロギング
ebeanテストでテストコンテナを開始するために使われるdockerコマンドのロギング。
<!-- Docker commands for starting test containers -->
<logger name="io.ebean.docker" level="TRACE"/>
サマリーロギング
io.ebean.SUM
のサマリーロギングは、遅延読み込みクエリとその元のクエリとの関係を示すのに役立ちます。これは、より複雑なオブジェクトグラフが構築される様子を見るのに役立ちます。クエリをN+1などにチューニングする場合など。
<!-- Summary level details -->
<logger name="io.ebean.SUM" level="TRACE"/>
L2キャッシュロギング
L2キャッシュイベントは、以下のロガエントリを使用してログに記録できます。これはL2キャッシュを使い始めた時や、L2キャッシュの挙動を調べたい時に役立ちます。
<!-- L2 logging -->
<logger name="io.ebean.cache.QUERY" level="TRACE"/>
<logger name="io.ebean.cache.BEAN" level="TRACE"/>
<logger name="io.ebean.cache.COLL" level="TRACE"/>
<logger name="io.ebean.cache.NATKEY" level="TRACE"/>
Elasticロギング
ElasticSearchへのクエリとアップデートのロギングです。
<!-- Elastic logging -->
<logger name="io.ebean.ELA" level="TRACE"/>
<logger name="io.ebean.ELQ" level="TRACE"/>
<logger name="io.ebean.BULK" level="TRACE"/>