概要
より詳細なレベルでYellowfinのアプリケーションログを取得する場合、デバッグログを有効にする方法がありますが、ここでは、通常のログ出力はそのままに、デバッグログだけを別のファイルに出力する方法を紹介します。
今回の例では、通常のログ出力先のディレクトリ内にデバッグログ出力用のディレクトリdebuglogを設けて、ここにデバッグログを出力するようにします。必要に応じてdebuglogディレクトリをlogsディレクトリ内に作成しておいてください。
設定方法
以下のディレクトリに格納されているlog4j2.xmlファイルを探します。
Yellowfin/appserver/webapps/ROOT/WEB-INF/log4j2.xml
図1の箇所に下記を追記します。
<RollingFile name="deblog" fileName="${logDir}/debuglog/yellowfin_debug.log" filePattern="${logDir}/debuglog/yellowfin_debug.log.%i">
<PatternLayout pattern="${appenderPatternLayout}" />
<Policies>
<SizeBasedTriggeringPolicy size="${maxFileSize}" />
</Policies>
<DefaultRolloverStrategy fileIndex="min" max="20"/>
</RollingFile>
図1
上記の設定は、
- デバッグログの出力先:Yellowfin/appserver/logs/debuglog/
- デバッグログファイル名:yellowfin_debug.log
- デバッグログのファイルサイズ:標準のアプリケーションログと同じ(デフォルト:1024KB)
- デバッグログのローテーションの世代数:20
に設定しています。必要に応じて設定を変更してください。
図2の箇所を図3のように変更します。
<Root level="DEBUG">
<AppenderRef ref="applog" level="INFO" />
<AppenderRef ref="cons" level="INFO" />
<AppenderRef ref="deblog" level="DEBUG" />
</Root>
図2
図3
以上で設定は完了です。デバッグログが出力されていることを確認してください。
注意事項
基本的に、Yellowfin サポートチームからの依頼がない限り、こちらの設定を変更する必要はありません。
デバッグログを出力するように設定すると、多少なりともアプリケーションサーバーのディスクIOに負荷がかかることになります。特に、利用頻度が高い(頻繁にレポート作成などをおこなっている)場合や、利用ユーザー数が多い場合は、その分ログの出力量が増える(つまり、ディスクIOの負荷が増加する)ことになりますので、システム全体のパフォーマンスに影響を及ぼすことになります。
目的のデバッグログを取得することができたら、必ず設定を元に戻すようにしてください。