WebSphere Application Server Version 6.1 Feature Pack for Web Services   
             オペレーティング・システム: AIX , HP-UX, i5/OS, Linux, Solaris, Windows, Windows Vista, z/OS

             目次と検索結果のパーソナライズ化

Jakarta Commons Logging

Jakarta Commons Logging は、単一のロギング・インターフェースおよび複数のロギング・システムのシン・ラッパーを提供します。ロギング・インターフェースは、アプリケーション・ロギングが、 単純になり、さらにアプリケーションが使用するロギング・システムから独立できるようにします。 アプリケーション・ロギング・コードを変更しなくても、デプロイ済みアプリケーションのロギング・インプリメンテーションを 変更することができます。ただし、ロギング・インターフェースを単純にすると、 アプリケーションは、ロギング・システムのすべての機能を利用しなくてもよくなります。

このトピックでは、WebSphere Application Server における Jakarta Commons Logging について以下のことを説明します。

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 のサポートの利点

Jakarta Commons Logging の WebSphere Application Server サポートには、以下の利点があります。

Jakarta Commons Logging を使用するプロセスの概要

Jakarta Commons Logging を使用したロギングは、以下のステップで構成されます。WebSphere Application Server ロガーの構成 は、WebSphere Application Server ロガーを使用するように、アプリケーションを構成する際の詳細を提供します。

  1. ロガー・ファクトリーのインスタンスを取得します。

    ロガー・ファクトリーの取得には、Jakarta Commons Logging コードを使用します。ユーザーのニーズに合うコードを構成することができます。WebSphere Application Server では、Jakarta Commons Logging は、Jakarta Commons Logging のデフォルトのロガー・ファクトリーのインスタンスを生成するように、デフォルトで構成されます。アプリケーションまたは WebSphere Application Server コンポーネントは、異なるロガー・ファクトリーの実装を使用する場合、コンポーネント自体の構成を用意することが可能です。 アプリケーションは、複数のファクトリーを使用することができます。

  2. ロガーのインスタンスを取得します。

    ロガーを取得するには、ロガー・ファクトリーによってインプリメントされた コードを使用します。このコードの構成は、インプリメンテーションに固有のものです。

    WebSphere Application Server ロガーは、ロギング・インターフェースで定義されたメソッド を実装します。 ロギング・メソッドは少なくとも 1 つの引数を取り、これは任意の Java オブジェクトとすることができます。 WebSphere Application Server ロガー (ロガー・ファクトリーおよびロガーを取得するために使用されるクラス で説明されている WsJDK14Logger ロガー) は、以下のロギング・メソッドへ渡される以下のオブジェクトを処理します。

    CommonBaseEvent
    CommonBaseEventLogRecord へラップされる
    CommonBaseEventLogRecord
    変更なしで渡される
    LogRecord
    変更なしで渡される
    他のオブジェクト
    ストリングに変換される

    アプリケーションまたは WebSphere Application Server コンポー ネントは、WebSphere Application Server に固有ではないロガーの実装を使用 する場合、独自の構成を提供することができます。アプリケーションは、構成に使用されているファクトリーが 何であるかを認識しておく必要があります。

  3. アプリケーションを開始します。Jakarta Commons Logging は、アプリケーションのロギング出力を、 指定されたロガーへルーティングします。

ロガー・ファクトリーおよびロガーを取得するために使用されるクラス

クラス名 説明
LogFactory LogFactory は、初期化ロジックを実装する Jakarta Commons Logging クラスです。LogFactory は、すべてのロガー・ファクトリー実装が拡張する必要のある抽象クラスです。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 レベルを制御します。




関連タスク
Jakarta Commons Logging を使用するためのアプリケーションの構成
関連情報
JSR 47: Logging API Specification
Jakarta Commons
Specification: Common Base Event
Standardize messages with the Common Base Event model
概念トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 4:10:06 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/ctrb_classload_jcl.html