ロガー
ロガーは、 メッセージ・イベントおよびトレース・イベントを収集するためにアプリケーションおよびランタイム・コンポーネントによって使用されます。
サーバーの始動が完了したときのように、状態が変更されたり、またはリソース待ちでのタイムア ウトなどの潜在的問題が検出されたために、重大な状態が発生した場合、メッセージがログに書き込まれます。 トレース・イベントはデバッグ・シナリオでログに記録されます。 このシナリオでは、開発者は、潜在的不具合を知るため、 各コンポーネントで起きていることを明確に把握する必要があります。 ログに記録されたイベントは多くの場合、 問題が最初に検出されたときに使用可能な唯一のイベントであり、 問題のリカバリーおよび問題の解決の両方で使用されます。
ロガーは階層的に編成されます。 各ロガーは、子ロガーを持たないことも、1 つ以上持つこともできます。
ロガーは、リソース・バンドルと関連付けることができます。 リソース・バンドルが指定されると、 ロガーに記録されたメッセージをローカライズするために、ロガーによって使用されます。 リソース・バンドルが指定されなかった場合、 ロガーは同じリソース・バンドルを親として使用します。
レベルでロガーを構成できます。 レベルを指定した場合、ロガーによって着信イベントと比較されます。 ロガーに設定したレベルより低い重大度のイベントは、ロガーによって無視されます。 レベルが指定されなかった場合、ロガーは親によって使用されたレベルを引き受けます。 ロガーのデフォルト・レベルは、Level.INFO です。
ロガーには、ゼロ個以上の ハンドラーを付加することができます。 指定された場合、ロガーに記録されたすべてのイベントは、付加されたハンドラーに渡されます ハンドラーは、
ログ・ファイルまたはネットワーク・ソケットなどの出力宛先にイベントを書き込みます。 ロガーが、ログに記録されたイベントを、そのロガーに付加されたすべてのハンドラーに渡し終えると、
ロガーはこのイベントを、ロガーの親に付加されたハンドラーに渡します。 親ロガーがその親ハンドラーを使用しないように構成されている場合、
このプロセスは停止します。 WebSphere Application Server のハンドラーは、ルート・ロガーに付加されます。 useParentHandlers ロガー・プロパティーを false に設定し、ロガーがイベントを階層の上のほうのハンドラーに書き込まないようにします。
ロガーは フィルターを持つことができます。 これが指定された場合、フィルターが着信イベントごとに起動され、 着信イベントを無視するか否かをロガーに知らせます。
アプリケーションは、ロガーと直接対話してイベントをログに記録します。 ロガーを入手または作成するには、 ロガーの名前を指定して Logger.getLogger メソッドを呼び出します。 通常、ロガー名は、パッケージ修飾クラス名か、 ロガーを使用するパッケージ名のいずれかです。 階層ロガー名前空間は、 ロガー名にドットを使用することによって自動的に作成されます。 例えば、「com.ibm.websphere.ras」は、「com.ibm.websphere」という名前の親ロガーを持ち、この親ロガーは「com.ibm parent」という名前の親を持ちます。 階層の最上位にある親は、 ルート・ロガーと呼ばれます。 このルート・ロガーは初期化中に作成されます。 ルート・ロガーは「com」ロガーの親です。
ロガーは階層で構造化されます。 ルート・ロガー以外のすべてのロガーには、1 つの親があります。 各ロガーはまた、子を持たないことも、1 つ以上の子を持つこともできます。 ロガーは、階層でその親から、 ログ・ハンドラー、リソース・バンドル名、およびイベント・フィルター設定を継承します。 ロガー階層は LogManager 関数によって管理されます。
ロガーはログ・レコードを作成します。 ログ・レコードは、 イベントのデータ用のコンテナー・オブジェクトです。 このオブジェクトは、ロギング・インフラストラクチャーの中で、 フィルター、ハンドラー、およびフォーマッターによって使用されます。
ロガーは、ログ・メッセージを生成するためにメソッドの幾つかのセットを提供します。 一部のログ・メソッドは、レベルと、メッセージを構成するのに十分な情報のみを取ります。 それ以外の、さらに複雑な logp (ログ精度) メソッドは、呼び出し元がレベルおよびメッセージ情報に加え、クラス名およびメソッド名属性を渡すのをサポートします。 logrb (リソース・バンドル付きログ) メソッドは、レベル、メッセージ情報、クラス名、およびメソッド名のほか、リソース・バンドルを指定する機能を追加します。 severe、warning、fine、finer、finest などのメソッドを使用すると、 特定のレベルでメッセージをログに記録できます。 ロギングおよびアプリケーションでのロギングの使用方法について詳しくは、「 アプリケーションでの Java ロギングの使用」を参照してください。 メソッドの完全なリストについては、 java.util.logging の資料 ( http://docs.oracle.com/javase/1.4.2/docs/api/index.html) を参照してください。