WebSphere Application Server では、Java ロギング API
(java.util.logging) により、WsLevel.DETAIL レベルまたはそれ以上
(WsLevel.DETAIL、Level.CONFIG、Level.INFO、WsLevel.AUDIT、
Level.WARNING、Level.SEVERE、および WsLevel.FATAL を含む) でログに記録されるイベント用の Common Base Event が自動作成されます。
これらの Common Base Event は、メッセージの記録先となるロガーに関連付けされたイベント・ファクトリーを使用して作成されます。
どのイベント・ファクトリーも指定されていない場合、WebSphere Application Server は、WebSphere Application Server 固有の情報を自動入力するデフォルトのイベント・ファクトリーを使用します。
WebSphere Application Server は、以下のメソッドのための Common Base Event を
自動作成する java.util.logging.Logger クラスの特殊な実装を使用します。
- config
- info
- warning
- severe
- log: WsLevel.DETAIL レベルまたはより制限の多いレベルで使用された場合の、log(LogRecord) 以外のすべてのバリアント
- logp: WsLevel.DETAIL レベルまたはより制限の多いレベルで使用された場合
- logrb: WsLevel.DETAIL レベルまたはより制限の多いレベルで使用された場合
WebSphere Application Server のロガー実装は、名前付きロガー、例えば Logger.getLogger("com.xyz.SomeLoggerName") のような呼び出しを使用してインスタンス化されたロガーなどのみに使用されます。
Logger.getAnonymousLogger と Logger.getLogger、または Logger.global メソッドへの呼び出しでインスタンス化したロガーは、WebSphere Application Server 実装を使用せず、自身に対して行われる要求をロギングするための Common Base Event は自動作成しません。
Logger.log(LogRecord) メソッドにより直接ログが記録されるログ・レコードは、WebSphere Application Server のロガーにより Common Base Event へ自動変換されません。
以下の図は、アプリケーション・コードにより、Common Base Event がどのように記録されるのかを示したものです。

名前付きロガーおよびメッセージ・レベル・イベントの Java ロギング API の処理は、以下のとおりに進行します。
- アプリケーション・コードが、名前付きロガー (WsLevel.DETAIL またはそれ以上) を、イベント固有のデータを用いて呼び出します。
- ロガーが、そのロガーに関連したイベント・ファクトリーの createCommonBaseEvent メソッドを使用して、Common Base Event を作成します。
- ロガーが、そのロガーに関連したイベント・ファクトリーを使用して Common Base Event を作成します。
- ロガーが、CommonBaseEventLogRecord レコード内に Common Base Event をラップし、イベント固有のデータを追加します。
- ロガーが、Common Base Event の complete メソッドを呼び出します。
- Common Base Event が、ContentHandler の completeEvent メソッドを呼び出します。
- コンテンツ・ハンドラーが、XML テンプレート・データを Common Base Event へ追加します (例えば、コンポーネント名など)。
すべてのコンテンツ・ハンドラーがテンプレートをサポートするわけではありません。
- コンテンツ・ハンドラーが、ランタイム・データを Common Base Event へ追加します (例えば、現行スレッド名など)。
- ロガーが、CommonBaseEventLogRecord レコードをハンドラーに受け渡します。
- ハンドラーがデータをフォーマットし、出力装置に書き込みます。