第5章 ロギング

ロギングとは、エラーの解決やプラットフォームのコンポーネントの状況を監視するにあたり最も重要なツールです。log4j は、Java 開発者にとって馴染みがあり、柔軟なフレームワークを提供しています。
「ロギングのデフォルト」 には、当プラットフォームに対するデフォルトのログイン動作をカスタマイズする方法について説明しています。その他のカスタマイゼーションについては、「コンポーネント固有のロギング」を参照してください。付録B ロギング情報とレシピ で、ロギングレシピを提供しており、必要に応じてカスタマイズ可能です。

5.1. ロギングのデフォルト

log4j の設定は$JBOSS_HOME/server/PROFILE/conf/jboss-log4j.xml の配備記述子からロードされます。log4j は、アペンダー を使いロギングの動作を制御します。アペンダーは情報をどこにログするか、どのようにログするか指示を出します。jboss-log4j.xml ファイルには、FILE、CONSOLE、SMTPなど、多くのサンプルアペンダーが含まれています。

表5.1 log4j 設定の一般的な指示子

設定オプション 詳細
appender
主なアペンダー。名前、実装クラスを提供します。
errorHandler
特にアペンダーが何らかの理由でログを記述できない場合に、外部クラスを委譲し、ロガーに渡される例外を処理します。
param
アペンダータイプ固有のオプション。この例では、 <param> はファイル名でFILE appender のログを格納します。
layout
ロギングのフォーマットを制御。これを微調整することで、ご利用になりたいログ構文解析ソフトウェアと連携させます。

例5.1 サンプルのアペンダー

<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
  <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
  <param name="File" value="${jboss.server.log.dir}/server.log"/>
  <param name="Append" value="true"/>
  <!-- In AS 5.0.x the server log threshold was set by a system property.
		 In 5.1 and later, the system property sets the priority on the root
		 logger (see <root/> below)
		 <param name="Threshold" value="${jboss.server.log.threshold}"/> -->
 
  <!-- Rollover at midnight each day -->
  <param name="DatePattern" value="'.'yyyy-MM-dd"/>
  <layout class="org.apache.log4j.PatternLayout">
	 <!-- The default pattern: Date Priority [Category] (Thread) Message\n -->
	 <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n"/>
  </layout>
</appender>
log4j設定の詳細情報については、http://logging.apache.org/log4j/1.2/を参照してください。