Oracle® Fusion Middleware Oracle Adaptive Access Manager管理者ガイド 11gリリース2 (11.1.2.2) B70199-06 |
|
前 |
次 |
ロギングは、コンポーネントがファイルにメッセージを書き込むためのメカニズムです。
Oracle Adaptive Access Manager 11gコンポーネントでは、ロギング・インフラストラクチャの一部としてjava.util.loggingパッケージを使用します。このパッケージは、すべてのJava環境で使用できます。
注意: 本番マシンでは、ロギングの容量が増えるとパフォーマンスに悪い影響を与えるため、ロギングの有効時間を管理する必要があります。 |
この項は、次の項目で構成されています。
ロギングは、起動時に読み取られるデフォルトのロギング構成ファイルlogging.properties
を使用して初期化されます。
このファイルはホーム・ディレクトリに配置されています。ここでは、メッセージを印刷するようにOracle Adaptive Access Manager Frameworkロガーが設定されています。このファイルを編集すると、次のことができます。
ログ・メッセージの詳細レベルを指定できます。
ログ・メッセージをコンソールに送信するか、ファイルに送信するか、またはその両方に送信するかを指定できます。
ロガーを定義する個々の領域のレベルでロギングを指定できます。
OAAMロガーは、エラーを報告したりOAAMの追加情報を提供するロギング・メッセージを生成します。表I-1に、Oracle Adaptive Access Managerロガーの説明を示します。
表I-1 Oracle Adaptive Access Managerロガー
ロガー | コンポーネント |
---|---|
oracle.oaam.model |
ADFモデル・パッケージ、oracle.oaam.modelで始まるパッケージのすべてのクラス。 |
oracle.oaam.view |
ADFビュー・パッケージ、oracle.oaam.viewで始まるパッケージのすべてのクラス。 |
oracle.oaam.alerts |
アラート、特にルール・エンジンはこのロガーを使用して、これらのログ・レコードをカスタム・ハンドラで使用できるようにします。 |
oracle.oaam |
ルート・ロガーはすべてのoaamロギングを制御します。 |
ログ・レベルはログ・メッセージの重要性および緊急性を定義します。クラス・レベルは、どのメッセージをログに書き込むかを定義するために使用されます。ログ・メッセージにはログ・レベルが関連付けられています。次に、ロギング・レベルを降順で示します。
表I-2 ロギング・レベル
レベル | 説明 |
---|---|
SEVERE |
最も高い値で、非常に重要なメッセージ(致命的なプログラム・エラーなど)を対象とします。SEVEREは、システムに不適切な機能がないかどうかを診断するために使用します。 |
WARNING |
警告メッセージを対象とします。 |
INFO |
情報を含むランタイム・メッセージ。INFO以上のロギングでは、完全な詳細情報が提供されます。INFOよりも低いレベルのロギング・メッセージでは、パフォーマンス上の理由を確認するためにそのロギングを有効にします(isDebugEnabled()/isLevelEnabled())。 |
CONFIG |
構成の設定に関する情報を含むメッセージ。 |
FINE |
問題のデバッグ/診断時に、より詳細な情報を得るために使用します。 |
FINER |
より詳細な情報。 |
FINEST |
最も低い値で、最も詳細な情報。 |
ALL |
すべてのレコードのロギングを有効にします。 |
OFF |
ロギングをオフにするために使用します。 |
ロギング・レベルを制御するプロパティ
次のプロパティはロギングのレベルを制御します。
Logger Name=Level
デバッグ・ログの有効化
たとえば、デバッグ・ログを有効にするには:
oracle.oaam.level=FINER
ADFモデルのデバッグ・ログの有効化
ADFモデル・パッケージのデバッグ・ログを有効にし、すべての情報ロギングをリセットするには、次のエントリを追加します。
oracle.oaam.level=INFO oracle.oaam.model.level=FINER
FINERロギング(デバッグを含む)を使用するようにすべてのログを構成
FINERロギング(デバッグを含む)を使用するようにoracle.oaamを構成するには:
oracle.oaam.level=FINER
ロガーはそれぞれハンドラにアクセスします。ハンドラはロガーからログ・メッセージを受け取り、そのログ・メッセージをファイルに出力するか、またはその両方を行います。
付録Iに、Oracle Adaptive Access Managerで使用されるハンドラを示します。
表I-3 ハンドラ・クラス
ハンドラ・クラス | 機能 |
---|---|
FileHandler |
書式化されたログ・レコードを単一のファイルまたはローテーションされるログ・ファイルのセットに書き込みます。 |
ConsoleHandler |
書式化されたレコードをSystem.errに書き込みます。 |
ログをファイルに送信するには、logging.properties
ファイルで、handlersプロパティにFileHandlerを追加します。これにより、ファイル・ロギングがグローバルに有効になります。
handlers= java.util.logging.FileHandler
次のプロパティを設定して、ハンドラを構成します。
java.util.logging.FileHandler.pattern=<home directory>/logs/oaam.log java.util.logging.FileHandler.limit=50000 java.util.logging.FileHandler.count=1 java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.patternは、出力ファイルのロケーションおよびパターンを指定します。デフォルト設定はホーム・ディレクトリです。
java.util.logging.FileHandler.limitは、1つのファイルに対するロガーの最大書込み量(バイト単位)を指定します。
java.util.logging.FileHandler.countは、順番に繰り返し使用する出力ファイルの数を指定します。
java.util.logging.FileHandler.formatterは、ファイル・ハンドラ・クラスがログ・メッセージを書式化するために使用するjava.util.loggingフォーマッタ・クラスを指定します。SimpleFormatterは、ログ・レコードの簡単なサマリーを人間が読める書式で書き込みます。
oracle.oaamログをファイル・ハンドラ(oaam.log)にリダイレクトするには、次のプロパティを設定します。
oracle.oaam.handlers=java.util.logging.FileHandler
コンソールとファイルの両方にログを出力する場合は、次のプロパティにコメントを付けます。
oracle.oaam.useParentHandlers=false
$JDK_HOME
/jre/lib/logging.properties
のかわりにこの構成ファイルを使用するようにjavaに指示するには、次のようにします。
java -Djava.util.logging.config.file=/scratch/user/config/logging.properties
デフォルトでは、ロギングがNOTIFICATION:1に設定されている場合にのみ、ログ・メッセージがaccess.logファイルに書き込まれます。パフォーマンスを確保するために、デフォルトのログ・レベルERROR:1 (SEVERE)をそのまま使用するか、WARNING:1 (WARNING)を使用して、access.logファイルに書き込まれる情報の量を制限することを検討してください。