IBM® Enterprise Records アプリケーションには、構成可能なサンプル log4j.properties ファイルが含まれています。
log4j.properties ファイルは ier_install_path¥ RecordsManagerSweep フォルダー内にあり、このファイルで以下の値を指定することによって、ロギングの動作を構成することができます。
log4j.properties ファイル内の各ロガーに、レベルが割り当てられています。レベルをロガーに割り当てない場合は、log4j が、親ロガーのレベルを、割り当てられていないロガーに自動的に割り当てます。デフォルトでは、WARN レベルがロガーに割り当てられます。
ロガー、アペンダー、およびレイアウトのさまざまな設定によって、log4j.properties ファイルを構成できます。log4j.properties ファイルは、アプリケーションが実行時にクラスパスから使用できなければなりません。ステートメントの前にハッシュ記号 (#) を付加することにより、サンプル・ファイル内のエントリーをコメント化することができます。実行時に、ハッシュ記号 (#) によってマークが付けられたエントリーは実行されません。
log4j.properties ファイルを開くには、ier_install_path¥RecordsManagerSweep フォルダーに移動してから、テキスト・エディターを使用してファイルを開きます。
最初に、ロガーを設定する必要があります。アプリケーションで必要なロギングのタイプを分類するために、いくつかのロガーを使用することができます。com.filenet.rm のすべてのクラスおよびそのサブパッケージのロギングを有効にするには、次のステートメントに示すロガーを指定します。
log4j.logger.com.filenet.rmor
ロガーに任意の名前を指定できます。例えば、次のステートメントに示すように、ロガーに APILOG という名前を付けることができます。
log4j.logger.com.filenet.rm=warn, APILOG
ロギング・レベルを設定して、実行時に log4j によって記録されるメッセージの詳細レベルを規定する必要があります。log4j は、以下の表に示すように、5 つの通常のロギング・レベルをサポートします。
レベル | 説明 |
---|---|
DEBUG | アプリケーションのデバッグに最も役立つ粒度の細かい通知イベントを指定します。 |
INFO | 粒度の荒いレベルでアプリケーションの進行状況を強調する情報メッセージを指定します。 |
WARN | 有害である可能性のある状況を指定します。 |
ERROR | アプリケーションが実行し続けられる可能性のあるエラー・イベントを指定します。 |
FATAL | アプリケーションを打ち切る結果になることが推測される非常に重大なエラー・イベントを指定します。 |
特殊なロギング・レベルおよびカスタム・ロギング・レベルについては、Apache Web サイトの log4j の資料を参照してください。デフォルトでは、アプリケーションは WARN レベルで開始されます。これは、実行時に DEBUG、 INFO、ERROR、WARN、または FATAL レベルに変更できます。それぞれが同じロガー用であるが、異なるレベル (あるステートメントでは DEBUG、もう 1 つでは WARN など) を持ついくつかのロガー・ステートメントを組み込むこともできます。ステートメントの前にハッシュ記号 (#) を付加してサンプル・ファイル内の一方または他方のステートメントをコメント化し、必要に応じて DEBUG レベルと WARN レベルの間で切り替えます。ハッシュ記号 (#) でマークが付けられたエントリーは、実行時に実行されません。レベルを持たないロガーは、自動的に親ロガーのレベルを継承します。デフォルトでは、WARN レベルが IBM Enterprise Records 内の RM API ロガーに割り当てられます。
ロガーは、1 つ以上のアペンダーに関連付けられて、ログ・メッセージを出力メディアに書き込むことができるようになります。ログ情報を指定された出力ロケーションに送信する各種のアペンダーを log4j.properties ファイルで設定できます。以下の表では、log4j.properties ファイルで使用されているすべてのアペンダーのリストを、簡単な説明および関連オプションと共に示します。
アペンダー | 説明およびコード断片 |
---|---|
NTEventLogAppender | Microsoft Windows NT イベント・ログに追加します。このアペンダーは、Windows システムのみでインストールおよび使用することができます。 log4j.appender.APILOG=org.apache.log4j.nt.NTEventLogAppender |
ConsoleAppender | ユーザーが指定したレイアウトを使用して、System.out (デフォルト) または System.err ストリームにログ・メッセージを追加します。 log4j.appender.APILOG=org.apache.log4j.ConsoleAppender オプション:
|
FileAppender | ログ・メッセージをファイルに追加します。 log4j.appender.APILOG=org.apache.log4j.FileAppender オプション:
|
RollingFileAppender | FileAppender を拡張して、ログ・ファイルが一定のサイズに達したときに、そのファイルをバックアップします。 log4j.appender.APILOG=org.apache.log4j.RollingFileAppender オプション:
|
ログ・メッセージ・フォーマットを指定するさまざまなレイアウトを、log4j.properties ファイルで設定することができます。ログ・メッセージに、日付、時刻、モジュール名、スレッド名などを含めるように指定することができます。これらの構成設定は、メッセージのロギング中に、実行時に使用されます。
以下の表では、IBM Enterprise Records の log4j.properties ファイルで使用されているすべてのレイアウトのリストを、簡単な説明およびオプションと共に示します。
レイアウト | 説明およびコード断片 |
---|---|
SimpleLayout | レベル、ダッシュ (-)、ログ・メッセージ・テキストの順に出力します。 org.apache.log4j.SimpleLayout |
PatternLayout | 指定された変換パターンに従って、ロギング・イベントをフォーマットします。変換パターンは、リテラル・テキストおよび変換指定子で構成されます。リテラル・テキストは、そのまま出力されます。変換指定子は、% 文字の後に、オプションのフォーマット修飾子と、必須の変換文字が続いているものです。例えば、%-5p [%t]: %m%n は、順に、優先度 (すなわちレベル) 変換指定子、リテラル・テキスト「[」、スレッド変換指定子、リテラル・テキスト「]:」、メッセージ変換指定子、およびシステム依存の行区切り記号から構成されている変換パターンです。 org.apache.log4j.PatternLayout オプション:
|
HTMLLayout | 出力を HTML テーブルとしてフォーマットします。 org.apache.log4j.HTMLLayout オプション:
|
出力を XML としてフォーマットします。 org.apache.log4j.xml.XMLLayout オプション:
|
IBM Enterprise Records に付属する log4j.properties ファイルは、ログ・メッセージ・フォーマットに PatternLayout を使用します。以下の表では、構成ファイルで宣言することができる変換パターンのリストを、簡単な説明と共に示します。
パターン | 説明 |
---|---|
%t | ログ要求を出すスレッドの名前 |
%c | ログ要求に関連付けられたロガーの名前 |
%-60c | 最小で 60 桁のスペース内でロガー名を左に寄せる |
%r | アプリケーションの開始以降に経過したミリ秒数 |
%p | ログ・ステートメントのレベル |
%m | メッセージ |
%Time | ロギングが発生した時刻 |
%d | ロギング・イベントの日付 |
%n | 改行 |
以下のコード・ステートメントは、PatternLayout を有効にして、単純な変換パターンを指定する方法を示します。
log4j.appender.APILOG.layout=org.apache.log4j.PatternLayout log4j.appender.APILOG.layout.ConversionPattern=%-5p %d {dd MMM yyyy HH:mm:ss,SSS}, -%m, %r, [%M] % n
次に例を示します。
WARN, 20 Jun 2005 14:48:20,900, -[enter] getObjectStoreXML(ObjectStores), 102042, [setLoggerMessage] WARN, 20 Jun 2005 14:48:21,100, -[exit] getObjectStoreXML(ObjectStores), 102342, [setLoggerMessage]