ヘッダーをスキップ

Oracle E-Business Suite開発者ガイド
リリース12.2
E53035-01
目次へ
目次
前のページへ
前へ
次のページへ
次へ

Logging Framework概要

概要

Oracle E-Business Suite Logging Frameworkは、デバッグ、エラー・レポートおよびアラート目的のログ・メッセージを格納および取得する機能を備えています。

Oracle Applications ManagerにあるHTMLベースのユーザー・インタフェース・ページから、ログ・メッセージを設定、表示およびパージできます。これらのページの詳細は、『Oracle E-Business Suiteメンテナンス・ガイド』を参照してください。

対象読者

ロギングに関するこの章と次の章の対象読者は、次のとおりです。

主機能

用語

次の各項では、Logging Frameworkで使用される用語をいくつか説明します。

ログ・メッセージ

完全なログ・メッセージには、一連のメッセージ識別子およびログ・メッセージの実際のテキストが含まれます。開発者が設定する必要がある識別子は、メッセージ、モジュールおよび重要度のみです。それ以外はすべて、Logging Frameworkによって自動的に取得されます。

ログ・メッセージには次の内容が含まれます。

モジュール・フィルタ

モジュール・フィルタは、特定のモジュールに対してロギングを実行するように構成できる、文字列のカンマ区切りリスト(オプション)です。必要に応じて、ワイルドカード(%)を使用できます。例: fnd%, jtf%, store%, cart%。

重要度

各ログ・メッセージは、次の6つの重要度のいずれかに属します(最低の重要度から最高の重要度まで): 1-STATEMENT、2-PROCEDURE、3-EVENT、4-EXCEPTION、5-ERRORまたは6-UNEXPECTED。

ロギング・レベル

ロギング・レベルは、メッセージのロギングを制御するために設定できるしきい値です。ロギング・レベルは、前述した定義済の6つの重要度のいずれかに設定できます。ロギング・レベルを設定すると、重要度が定義済レベル以上のメッセージのみ記録されます。たとえば、ロギング・レベルを5-ERRORに設定すると、5-ERRORおよび6-UNEXPECTEDのメッセージについてロギングが発生します。ロギング・レベルを最低の重要度1-STATEMENTに設定すると、6つの重要度すべてのメッセージが記録されます。

ロギング構成パラメータ

概要

次のパラメータによってロギングを管理します。

これらのパラメータは、中間層プロパティ、Oracle Application Object Library (FND)プロファイル・オプション値、またはこの両方の組合せとして設定できます。中間層プロパティは、Javaシステム・プロパティまたはC環境変数を使用して設定されます。中間層設定は、データベース設定より優先されます。これによって、データベースからグローバルに、または中間層からローカルにロギングを管理できます。

パラメータが中間層プロパティまたはOracle Application Object Library (FND)プロファイル・オプション値として設定されていない場合は、デフォルト値が使用されます。中間層プロパティは中間層のロギングにのみ影響し、データベース(PL/SQL)レイヤーのロギングには影響しません。

各ログ・メッセージには、メッセージの作成者が決定するモジュールとレベルが関連付けられています。使用可能なインスタンス(AFLOG_ENABLED=TRUE)中にログ・メッセージが実際に記録されるかどうかは、メッセージのレベルとモジュールをAFLOG_LEVELとAFLOG_MODULEの設定と比較する方法によって決まります。メッセージのレベルはAFLOG_LEVELの値以上で、モジュールはフィルタAFLOG_MODULEと一致する必要があります。

次に、ロギング・パラメータの詳細を説明します。

AFLOG_ENABLED

AFLOG_ENABLEDは、ロギングが使用可能かどうかを決定します。データベース層では、可能な値はYとNです。中間層では、可能な値はTRUEとFALSEです。

中間層プロパティを使用してAFLOG_ENABLEDがFALSEに設定された場合、中間層でロギングは発生しません。Oracle Application Object Library (FND)プロファイルを使用してAFLOG_ENABLEDがNに設定された場合、データベース層でロギングは発生しません。

AFLOG_ENABLEDがTRUEに設定された場合、該当するレベルとモジュールのログ・メッセージがデータベースまたはファイルのいずれかに記録されます。中間層プロパティとして設定されたパラメータ値は、データベース・プロファイル・オプション値として設定された値よりも優先されるため、特定の中間層プロセスに対して、プロパティを使用してロギングをグローバルに使用可能または使用不可にできます。たとえば、JVMで中間層ロギングを完全に使用不可にするには、-DAFLOG_ENABLED=FALSEを使用します。

例:

/local/java/jdk1.2.2/bin/java -DAFLOG_ENABLED=FALSE org.apache.jserv.JServ

このようにAFLOG_ENABLEDが設定されると、データベース・プロファイル・オプション値を使用して設定された値が上書きされます。

同様に、ロギングをグローバルに使用可能にできます。-DAFLOG_ENABLED=TRUEを使用すると、AFLOG_ENABLEDのデータベース・プロファイル・オプション値がNのユーザーに対しても、ロギングが使用可能になります。

次の表に、中間層パラメータがデータベース・プロファイル・オプション値より優先されることを示します。

中間層の値とデータベース層の値の比較
データベース層の値 中間層の値 結果
Y TRUE ロギングは中間層とデータベースの両方で発生します。
Y FALSE ロギングはデータベースでのみ発生します。
N TRUE ロギングは中間層でのみ発生します。
N FALSE ロギングは発生しません。

AFLOG_LEVEL

AFLOG_LEVELはロギング・レベルを指定します。メッセージが記録されるには、メッセージの重要度がAFLOG_LEVELの値以上である必要があります。

中間層プロパティを使用して設定された値は、データベースで設定されたプロファイル・オプション値より優先されます。たとえば、次のように、システム・プロパティでロギング・レベルをEXCEPTIONに設定できます。

/local/java/jdk1.2.2/bin/java  -DAFLOG_LEVEL=EXCEPTION org.apache.jserv.JServ

次の表に、エラー・レポート用にサポートされているロギング・レベルを示します。

エラー・レポート用のロギング・レベル
ロギング・レベル 内容 対象
Unexpected 6 未処理の内部ソフトウェア・エラーを示します(一般的にコードまたは環境の修正が必要です)。 顧客サイトのシステム管理者、およびOracle開発およびサポート・チーム。 「メモリー不足です。」「必須フィールドが見つかりません。」「データ整合性エラーです。」「構成エラー: 必須プロパティが見つからないので構成ファイルにアクセスできません。」「DB SQLExceptionにより新規発注に失敗しました。」「要求の処理中に接続の取得に失敗しました。」
Error 5 外部エンド・ユーザー・エラーを示します(一般的にエンド・ユーザーによる修正が必要です)。 顧客サイトのシステム管理者、およびOracle開発およびサポート・チーム。 「無効なユーザー名またはパスワードです。」「ユーザーが重複した値をフィールドに入力しました。」
Exception 4 処理済の内部ソフトウェア・エラーを示します(一般的に修正は不要です)。 Oracle開発およびサポート・チーム。 「プロファイルが見つかりません。」「セッションがタイムアウトしました。」「ネットワーク・ルーチンが接続できませんでした; 再試行中」

次の表に、進捗レポート用にサポートされているロギング・レベルを示します。

進捗レポート用のロギング・レベル
ロギング・レベル 内容 対象
Event 3 高レベルの進捗レポートに使用されます。 Oracle開発およびサポート・チーム。 「ユーザーを正常に認証しました。」「ユーザー作業環境を正常に取得しました。」「メニュー・レンダリングが完了しました。」
Procedure 2 APIレベルの進捗レポートに使用されます。 Oracle開発およびサポート・チーム。 「PL/SQLプロシージャXYZをコールします。」「PL/SQLプロシージャXYZから戻します。」
Statement 1 低レベルの進捗レポートに使用されます。 Oracle開発およびサポート・チーム。 「プールからの接続を取得しました。」「要求パラメータを取得しました。」「名前と値を使用してCookieを設定します。」

AFLOG_MODULE

モジュール名の書式は次のとおりです。

<application short name>.<directory>.<file>.<routine>.<label>

例: fnd.common.AppsContext.logOut.begin (<application short name> = fnd、<directory> = common、<file> = AppsContext、<routine> = logOut、<label> = begin)。

パラメータによってクラスの名前からモジュールが自動的に構成されるため、Javaフレームワークはクラスまたは当該オブジェクトを取得するメソッドを記述します。たとえば、ログ・メッセージがoracle.apps.fnd.common.AppsContext.classのインスタンスから書き込まれる場合、モジュール名はfnd.common.AppsContextになります。先頭のoracle.appsは常に削除されることに注意してください。

AFLOG_MODULEパラメータは、ログ・メッセージのモジュール名を比較するフィルタです。パーセント記号(%)はワイルドカードとして使用されます。すべてのモジュールを選択するには、AFLOG_MODULEを%に設定します。oracle.apps.fnd.common.AppsContextクラスからのメッセージのみ記録するには、AFLOG_MODULEをfnd.common.AppsContext%に設定します。

AFLOG_FILENAME

デフォルト値はNULLです(データベースに記録します。データベース・ロギングが失敗すると、デフォルト・ファイルの./aferror.logに記録します)。

AFLOG_FILENAMEは、中間層ログ・メッセージが書き込まれるファイルを指定します。ファイル名が中間層プロパティとして指定されると、中間層ログ・メッセージはそのファイルに書き込まれます。PL/SQLレイヤーでのメッセージは常にデータベース表に記録されます。

ファイル名が中間層プロパティとして指定されない場合は、次のように処理されます。

中間層プロセスに指定のファイルに対する書込み権限がない場合、ログ・メッセージはデフォルト・ファイルに記録されます。デフォルト・ログ・ファイルに書き込むことができない場合、ログ・メッセージはSTDERRに書き込まれます。

ファイル名にフル・パスが指定されていない場合、パスは現在の作業ディレクトリへの相対パスと見なされます。

中間層プロセスごとに別個のログ・ファイルが必要な場合は、各プロセスにAFLOG_FILENAMEの中間層プロパティ値を指定します。

AFLOG_ECHO

前述した4つの標準ログ・パラメータ以外に、AFLOG_ECHOはJava層でのみ使用できます。これを使用して、ログ・メッセージをSTDERRに送信します。

-DAFLOG_ECHO=TRUEで、ロギングが使用可能な場合、フィルタされたすべてのメッセージは、構成済のファイルまたはデータベース以外に、STDERRにも記録されます。