詳細な SQL ログの有効化
データベースに問題があり、サポートの支援が必要な場合、ログ ファイルを送信する前に詳細な SQL ログ出力を一時的に無効化することをお勧めします。これは、報告された問題中に実行されている SQL クエリを判断するのに役立ちます。ログ出力の停止を有効化したら、エラーの原因と思われるアクションを再現します。これは Confluence ログ ファイルに関連する SQL ログ出力が含まれていることを確認するのに最も適した方法です。
パラメータを持つ SQL クエリのログ出力
一時 SQL ログ作成を有効化する手順
- [管理] メニュー から、[一般設定] > [ログとプロファイルの作成] に移動します。
- SQL ログ作成を有効にするを選択します。
SQL ログ出力を無効化するか、Confluence を再起動するまで、このログ出力レベルは保持されます。ログ出力レベルを保持する必要がある場合 (例: データベースに関連する起動時の問題のトラブルシューティング) 、以下の手順に従って log4j2.xml を編集します。
持続 SQL ログ作成を有効化する手順
Confluence 5.9.10 以前を使用している場合はこの方法を使用して、パラメーターもログに記録されるようにします。トラブルシューティングが完了したら、変更を元に戻すことができます。
- Confluence を停止します。
<install-directory>\confluence\WEB-INF\classes\log4j2.xmlを編集します。以下の行を
ERRORからDEBUGに変更します。<!--Log hibernate prepared statements/SQL queries (equivalent to setting 'hibernate.show_sql' to 'true').--> <!--DEBUG, TRACE or ALL is required to see query strings.--> <Logger level="debug" name="org.hibernate.SQL" additivity="false"> <AppenderRef ref="sqllog"/> </Logger>Directly after it, add the following lines to log parameter values:
<!--Log hibernate prepared statement parameter values. TRACE or ALL is required to see parameter values.--> <Logger level="trace" name="org.hibernate.orm.jdbc.bind" additivity="false"> <AppenderRef ref="sqllog"/> </Logger>- Confluence を起動します。
このログ出力レベルは、Confluence が再起動しても保持されます。SQL ログ出力は非常に冗長であるため、追加情報が不要になったら、log4j2.xml の変更を戻すことをおすすめします。
注: AO テーブルの SQL ログについては、DEBUG レベルに次のクラスを挿入します。
You can add it in theAdministration menu , then General Configuration > Logging and Profiling or add it to the <Loggers> section of log4j2.xml :
<Logger level="debug" name="net.java.ao"/>
These entries are written to the main application log, atlassian-confluence.log . Remove the logger once you no longer need it.