IBM Enterprise Records, バージョン 5.1.+            

log4j.properties ファイルの構成

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 つの通常のロギング・レベルをサポートします。

表 1. 実行時に log4j が記録するメッセージのレベル
レベル 説明
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 ファイルで使用されているすべてのアペンダーのリストを、簡単な説明および関連オプションと共に示します。

表 2. アペンダー、説明、およびコード断片
アペンダー 説明およびコード断片
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

オプション:

  • Threshold=WARN: このアペンダーは、ここで指定した優先度よりも優先度が低いメッセージを、ロガーの優先度の方が低く設定されている場合でも、ログに記録しません。これは、例えば、コンソールですべてのメッセージが表示されるときに、ファイル・ログ内のメッセージ数を削減するために役立ちます。
  • ImmediateFlush=true: デフォルト設定は true であり、これはログ・メッセージをまったくバッファーに入れないことを意味します。ImmdiateFlush が false に設定されている場合、アプリケーションに問題が発生したときに、最後のいくつかのログ・イベントが、不変のメディアに書き込まれない可能性があります。推奨設定は true です。
FileAppender

ログ・メッセージをファイルに追加します。

 log4j.appender.APILOG=org.apache.log4j.FileAppender

オプション:

  • Threshold=WARN: このアペンダーは、ここで指定した優先度よりも優先度が低いメッセージを、ロガーの優先度の方が低く設定されている場合でも、ログに記録しません。これは、例えば、コンソールですべてのメッセージが表示されるときに、ファイル・ログ内のメッセージ数を削減するために役立ちます。
  • ImmediateFlush=true: デフォルトでは true に設定されており、これはログ・メッセージをまったくバッファーに入れないことを意味します。ImmdiateFlush が false に設定されている場合、アプリケーションに問題が発生したときに、最後のいくつかのログ・イベントが、不変のメディアに書き込まれない可能性があります。推奨設定は true です。
  • File=mylog.txt: ログを記録するファイルの名前。${some_property_key} (例えば java.home または user.home システム・プロパティー) を使用して、パスを指定できます。
  • Append=false: デフォルトでは true に設定されており、これはファイルの末尾に追加することを意味します。false に設定すると、プログラム実行のたびに、開始時にファイルが上書きされます。
RollingFileAppender

FileAppender を拡張して、ログ・ファイルが一定のサイズに達したときに、そのファイルをバックアップします。

 log4j.appender.APILOG=org.apache.log4j.RollingFileAppender

オプション:

  • Threshold=INFO: このアペンダーは、ここで指定した優先度よりも優先度が低いメッセージを、ロガーの優先度の方が低く設定されている場合でも、ログに記録しません。これは、例えば、コンソールですべてのメッセージが表示されるときに、ファイル・ログ内のメッセージ数を削減するために役立ちます。
  • ImmediateFlush=true: デフォルトでは true に設定されており、これはログ・メッセージをまったくバッファーに入れないことを意味します。ImmdiateFlush が false に設定されている場合、アプリケーションに問題が発生したときに、最後のいくつかのログ・イベントが、不変のメディアに書き込まれない可能性があります。推奨設定は true です。
  • File=mylog.txt: ログを記録するファイルの名前。${some_property_key} (例えば java.home または user.home システム・プロパティー) を使用して、先にパスを指定できます。
  • Append=false: デフォルトでは true に設定されており、これはファイルの末尾に追加することを意味します。false に設定すると、プログラム実行のたびに、開始時にファイルが上書きされます。
  • MaxFileSize=100KB: 接尾部は、KB、MB、または GB です。このサイズに達したら、ログ・ファイルを丸めます。Append には、出力ファイルが上書きされるか (false)、または追加されるか (true) を決定するブール値が設定されます。値を false (デフォルト) に設定すると、ファイルが無制限に大きくなることはありません。この設定は、不定期に 1 回ずつ実行する開発環境で推奨されます。値を true に設定すると、JVM を実行するたびに出力が既存のログ・ファイルに追加されます。MaxFileSize キーワードを設定することによって、出力ファイルのサイズを制限することができます。例えば、MaxFileSize=128KB および MaxBackupIndex=1 と指定して出力ファイル cjapi_log.txt を構成する場合、ファイルが 128 KB を超えると、その内容が自動的に cjapi_log.txt.1 に移動され、空の cjapi_log.txt ファイルに対して書き込みが続行されます。
  • MaxBackupIndex=2: 最大 2 つ (例えば) のバックアップ・ファイルを維持します。最も古いファイルを消去します。0 は、バックアップ・ファイルを保持しないことを示します。

レイアウトの設定

ログ・メッセージ・フォーマットを指定するさまざまなレイアウトを、log4j.properties ファイルで設定することができます。ログ・メッセージに、日付、時刻、モジュール名、スレッド名などを含めるように指定することができます。これらの構成設定は、メッセージのロギング中に、実行時に使用されます。

以下の表では、IBM Enterprise Records の log4j.properties ファイルで使用されているすべてのレイアウトのリストを、簡単な説明およびオプションと共に示します。

表 3. レイアウトおよび説明
レイアウト 説明およびコード断片
SimpleLayout

レベル、ダッシュ (-)、ログ・メッセージ・テキストの順に出力します。

org.apache.log4j.SimpleLayout
PatternLayout

指定された変換パターンに従って、ロギング・イベントをフォーマットします。変換パターンは、リテラル・テキストおよび変換指定子で構成されます。リテラル・テキストは、そのまま出力されます。変換指定子は、% 文字の後に、オプションのフォーマット修飾子と、必須の変換文字が続いているものです。例えば、%-5p [%t]: %m%n は、順に、優先度 (すなわちレベル) 変換指定子、リテラル・テキスト「[」、スレッド変換指定子、リテラル・テキスト「]:」、メッセージ変換指定子、およびシステム依存の行区切り記号から構成されている変換パターンです。

org.apache.log4j.PatternLayout

オプション:

  • ConversionPattern=%-5p, [%t]:%m%n: 各ログ・メッセージのフォーマット設定方法 (どの情報を含めるか)。
HTMLLayout

出力を HTML テーブルとしてフォーマットします。

org.apache.log4j.HTMLLayout

オプション:

  • LocationInfo=true: Java ファイル名および行番号を出力します。デフォルトの設定値は false です。
  • Title=My app title: HTML の <title> タグを設定します。デフォルトの設定値は Log4J Log Messages です。
 

出力を XML としてフォーマットします。

org.apache.log4j.xml.XMLLayout

オプション:

  • LocationInfo=true: Java ファイル名および行番号を出力します。デフォルトの設定値は false です。

IBM Enterprise Records に付属する log4j.properties ファイルは、ログ・メッセージ・フォーマットに PatternLayout を使用します。以下の表では、構成ファイルで宣言することができる変換パターンのリストを、簡単な説明と共に示します。

表 4. 変換パターンおよび説明
パターン 説明
%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]


フィードバック

最終更新日: 2011 年 8 月


© Copyright IBM Corp. 2011.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www/eclipse.org)