JRas ロギング・ツールキットは、管理者が問題を診断したり、アプリケーション・パフォーマンスを調整するのを支援する診断情報を提供します。
非推奨: このタスクおよびそのサブタスクで説明する JRas フレームワークは推奨されません。 しかし、Java ロギングを使用して、同様の結果を得ることができます。
アプリケーションの開発、デプロイ、および保守は複雑な作業です。 例えば、実行中のアプリケーションが予期しない状態に陥ると、 要求された操作が完了できないことがあります。 そのような場合には、アプリケーションから管理者に操作の失敗が通知され、情報が提供されると便利です。 このアクションにより管理者は、適切な修正処置をとることができます。 アプリケーションの開発者または保守担当者は、 コード・バグによる障害の根本原因を判別するために、 実行中のアプリケーションのパスに関する詳細情報を収集しなければならない場合があります。 これらの目的に使用される機能は通常、メッセージ・ロギング および診断トレース と呼ばれます。
メッセージ・ロギング (メッセージ) と診断トレース (トレース) は、 概念的にはきわめてよく似ていますが、この両者には大きな違いがあります。 これらのツールを正しく使用するために、アプリケーション開発者はこれらの違いを理解することが重要です。 まず、メッセージおよびトレースの操作上の定義は次のようになっています。
WebSphere Application Server は、アプリケーションで使用できる、 メッセージ・ロギングと診断トレース API を提供します。 この API は、IBM が開発したスタンドアロン JRas ロギング・ツールキットを基にしています。 スタンドアロン JRas ロギング・ツールキットは、 メッセージ・ロギングおよび診断トレースのプリミティブを提供する、 インターフェースとクラスの集合です。 これらのプリミティブは、特定の製品またはプラットフォームに結び付いているわけではありません。 スタンドアロン JRas ロギング・ツールキットは、プロパティー・ファイルに基づいたログ・ファイル構成サポートなど、限られた範囲のサポート (通常はシステム管理サポート と呼ばれます) しか提供しません。
設計上、スタンドアロン JRas ロギング・ツールキットには、 WebSphere Application Server ランタイムへの統合、 または Java 2 Platform Enterprise Edition (J2EE) 環境での使用に必要なサポートは含まれていません。 このような制約を克服するために、WebSphere Application Server には、 これらの短所を補う拡張クラスのセットが用意されています。 この拡張クラスのコレクションを、JRas 拡張と呼びます。JRas 拡張は、 スタンドアロン JRas ロギング・ツールキットが導入したインターフェースの変更は行いませんが、 適切な実装クラスを提供します。 スタンドアロン JRas ロギング・ツールキットが導入する概念構造については、 次のセクションで説明します。この概念構造は、JRas 拡張にも同様に適用できます。
このセクションでは、スタンドアロン JRas ロギング・ツールキットで導入される重要な概念および構成の基本概要を説明します。 この情報は、ロギング・ツールキットの機能の概要について包括的に述べること、 および使用法またはプログラミングのパラダイム (枠組み) について詳しく検討することは意図していません。 コード例などの詳細情報は、JRas 拡張とそのサブトピック (ロギング・ツールキットを構成する各種のインターフェースおよびクラスの API 資料など) で入手できます。
ロガーには 1 つ以上のハンドラーが含まれており、イベントはそのハンドラーに転送されて処理されます。 ユーザーがロガー上でメソッドを呼び出すと、ロガーは呼び出し元が指定したイベント・タイプを、その現在のマスク値と比較します。 指定したタイプがマスク検査にパスすると、ロガーはイベント・オブジェクトを作成して、 ロガー・メソッドに渡されたイベントに関する情報を収集します。 この情報は、イベントを記録するクラスおよびメソッドの名前、 記録するメッセージおよびパラメーターを始めとする、さまざまな情報を含むことができます。 ロガーは、イベント・オブジェクトを作成すると、イベントを、 現在ロガーに登録されているすべてのハンドラーに転送します。
ロギング・インフラストラクチャー の中で使用されるメソッドは、ロガー・メソッドに対する呼び出しを行いません。 アプリケーションが、Thread クラスを拡張するようなオブジェクトを使用し、hashCode メソッドを実装し、そのメソッドからロギング・インフラストラクチャ ーに対する呼び出しを行う場合、結果は再帰的ループになります。