Jakarta Commons Logging は、単一のロギング・インターフェースおよび複数のロギング・システムのシン・ラッパーを提供します。ロギング・インターフェースは、アプリケーション・ロギングが、 単純になり、さらにアプリケーションが使用するロギング・システムから独立できるようにします。 アプリケーション・ロギング・コードを変更しなくても、デプロイ済みアプリケーションのロギング・インプリメンテーションを 変更することができます。ただし、ロギング・インターフェースを単純にすると、 アプリケーションは、ロギング・システムのすべての機能を利用しなくてもよくなります。
このトピックでは、WebSphere Application Server における Jakarta Commons Logging について以下のことを説明します。
WebSphere Application Server は、WebSphere Application Server ロギング機能用のロガー、シン・ラッパーを提供することにより、Jakarta Commons Logging をサポートします。 ロガーは、Java ロギング (JSR-47) と Common Base Event ロギング・オブジェクトの両方を処理することができます。ロギング・ オブジェクト は、ロギング項目情報を持つオブジェクトです。
Jakarta Commons Logging の WebSphere Application Server サポートにより、Jakarta Commons Logging で定義されるインターフェースが変更されることはありません。
Jakarta Commons Logging の WebSphere Application Server サポートには、以下の利点があります。
Jakarta Commons Logging のすべての機能は、任意のアプリケーションまたは WebSphere Application Server コンポーネントに提供されます。 ロギング呼び出しは、デフォルトで、基盤となる WebSphere Application Server ロギ ング機能にルーティングされています。
アプリケーションおよびコンポーネントは、Java ロギングと Common Base Event ロギング・オブジェクトの両方を、ストリングへ変換することなく、WebSphere Application Server ロガーへ渡し、アプリケーションのロギングを拡張することができます。 さらに、Jakarta Commons Logging のロガー・レベルは、WebSphere Application Server 管理機能に統合されます。
Jakarta Commons Logging を使用したロギングは、以下のステップで構成されます。WebSphere Application Server ロガーの構成 は、WebSphere Application Server ロガーを使用するように、アプリケーションを構成する際の詳細を提供します。
ロガー・ファクトリーの取得には、Jakarta Commons Logging コードを使用します。ユーザーのニーズに合うコードを構成することができます。WebSphere Application Server では、Jakarta Commons Logging は、Jakarta Commons Logging のデフォルトのロガー・ファクトリーのインスタンスを生成するように、デフォルトで構成されます。アプリケーションまたは WebSphere Application Server コンポーネントは、異なるロガー・ファクトリーの実装を使用する場合、コンポーネント自体の構成を用意することが可能です。 アプリケーションは、複数のファクトリーを使用することができます。
ロガーを取得するには、ロガー・ファクトリーによってインプリメントされた コードを使用します。このコードの構成は、インプリメンテーションに固有のものです。
WebSphere Application Server ロガーは、ロギング・インターフェースで定義されたメソッド を実装します。 ロギング・メソッドは少なくとも 1 つの引数を取り、これは任意の Java オブジェクトとすることができます。 WebSphere Application Server ロガー (ロガー・ファクトリーおよびロガーを取得するために使用されるクラス で説明されている WsJDK14Logger ロガー) は、以下のロギング・メソッドへ渡される以下のオブジェクトを処理します。
アプリケーションまたは WebSphere Application Server コンポー ネントは、WebSphere Application Server に固有ではないロガーの実装を使用 する場合、独自の構成を提供することができます。アプリケーションは、構成に使用されているファクトリーが 何であるかを認識しておく必要があります。
クラス名 | 説明 |
---|---|
LogFactory | LogFactory は、初期化ロジックを実装する Jakarta Commons Logging クラスです。LogFactory は、すべてのロガー・ファクトリー実装が拡張する必要のある抽象クラスです。LogFactory では、以下の取得のために静的メソッドが提供されています。
ロガー・ファクトリーは、一度インスタンス化されると、コンテキスト・クラス・ローダーごとにキャッシュされます。キャッシュ内のインスタンスは、解放することができます。 この機能は、アプリケーション用ではなく、プラットフォームのコンテナー・インプリメンテーション用に設計されます。 |
LogFactoryImpl | LogFactoryImpl は、デフォルトのロガー・ファクトリーを LogFactory でのメソッドを使用して実装する Jakarta Commons Logging 具象クラスです。 Java ロギングを使用するには、(アプリケーションが明示的にロガー・ファクトリー・クラスのインスタンスを取得していない場合でも)、 最低でも、常に 1 つのロガー・ファクトリー・クラスのインスタンスが必要です。構成がロガー・ファクトリー・クラスを指定しない場合は、LogFactoryImpl がデフォルトとして使用されます。 |
ログ | Log は、ロガーの Jakarta Commons Logging インターフェースです。
共通ロギング・ロガーは、Log インターフェースをインプリメントする必要があります。
Jakarta Commons Logging の目標はすべてのロギング・システムをラッパーすることなので、
Log インターフェースは共通ロギング・メソッドの小さなセットを定義します。WebSphere Application Server では、
WsJDK14Logger が Log インターフェースを実装します。 ロガーのインスタンス化 および構成は、すべてのロガー・ファクトリーに固有です。WebSphere Application Server でのロギングは、Jakarta Commons Logging で提供されるデフォルトのロガー・ファクトリーを使用します。これにより、インスタンス化された ロガーは、クラス・ローダーのコンテキストごとに、キャッシュに保持されます。 |
WsJDK14Logger | WsJDK14Logger は、Log インターフェースを実装することによって、 Jakarta Commons Logging ロガーを提供する WebSphere Application Server クラスです。 WsJDK14Logger ロガーは、Java Logging ロガーとは異なります。WsJDK14Logger ロガーは、Java Logging または Common Base Event オブジェクトを、ストリング・オブジェクトに変換しないで渡すことを可能にします。 これにより、 ストリングへの変換によって発生する可能性のある情報の損失を回避し、ロギング出力を より記述的で明確にすることができます。一方、Jakarta Commons Logging で提供される Java Logginglogger は、 ロギング呼び出しに渡されるオブジェクトを、基盤となる Java Logging に渡す前に、ストリング・オブジェクトに変換します。 |
Jakarta Commons Logging ロガーは、特定のロギング・システムのシン・ラッパーであるため、 ロガーは独自のレベルを持っていませんが、基盤となるロギング・システムからのロガーのレベルを使用します。 基盤となるシステムは、レベルを変更するためのメソッドを提供することができますが、 Log インターフェースで定義されたレベルを変更するためのメソッドはありません。 これは、すべての Jakarta Commons Logging ロガーがインプリメントする必要があります。 WsJDK14Logger は、基盤となる Java Logging ロガーのレベルを使用します。
以下の表の左側には、WsJDK14Logger 内の Jakarta Commons Logging レベルを、Java Logging の WebSphere Application Server 実装のレベルにマップしたものを示しています。 右側には、Java Logging で定義されたレベル、および Jakarta Commons Logging JDK14Logger での Java Logging レベルへのレベル・マッピングを示します。
WsJDK14Logger | WebSphere Application Server の Java Logging | Java Logging | JDK14Logger |
---|---|---|---|
致命的 | 致命的 | ||
エラー | 重大 | 重大 | Fatal、Error |
警告 | 警告 | 警告 | 警告 |
Audit | |||
Info | Info | Info | Info |
構成 | 構成 | ||
詳細 | |||
デバッグ | Fine | Fine | デバッグ |
詳細 - 高 | 詳細 - 高 | ||
トレース | 詳細 - 最高 | 詳細 - 最高 | トレース |
WsJDK14Logger レベルは、基盤となる Java Logging ロガー・レベルで同期化されます。WebSphere Application Server 管理は、WsJDK14Logger レベルを制御します。