アプリケーションへのロギングおよびトレースの追加

ロギングおよびトレースをアプリケーションに追加して、 WebSphere® Application Serverのパフォーマンスの分析および問題の診断に役立てることができます。

非推奨フィーチャー: この資料で説明されている JRas フレームワークは非推奨です。 ただし、Java™ ロギングでも同じ結果を得ることができます。

このタスクの概要

サーブレット、 JavaServer Pages (JSP) ファイル、エンタープライズ Bean、クライアント・アプリケーション、およびそれらのサポート・クラスなど、 WebSphere Application Serverで実行されるアプリケーションの設計者および開発者は、アプリケーション・ロギングの生成に Java ロギングを使用すると便利な場合があります。

コードに System.out.println ステートメント を追加する方法に比べ、この方法には次のような利点があります。
  • メッセージは、 WebSphere Application Server 標準ログ・ファイルに、自動的に追加される日時スタンプなどの追加データ付きの標準メッセージ・フォーマットで表示されます。
  • 独自のアプリケーション内の問題およびイベントを、 WebSphere Application Server コンポーネントに関連する問題およびイベントにより簡単に相関させることができます。
  • WebSphere Application Server ログ・ファイル管理機能を使用できます。
  • [AIX Solaris HP-UX Linux Windows]ログおよびトレース・アナライザー・ツールを使用して、メッセージを表示することができます。

手順

  1. 必要に応じて、サポートされるいずれかのロギング・タイプを使用可能にして、構成します。 以下の方法の 1 つを使用します。
  2. ユーザーのロギングのニーズに合うように、プロパティーをカスタマイズします。
    例えば、 特定のログを使用可能または使用不可にしたり、保持するログの数を指定したり、 ログ出力のフォーマットを指定したりします。
  3. Jakarta Commons Logging のログとトレースで WebSphere のログとトレースのインフラストラクチャーを使用しないようにするには、Jakarta Commons Logging を再構成します。
    ベスト・プラクティス: すべてのログ・コンテンツに対して WebSphere ログおよびトレース・インフラストラクチャーを使用して、問題ソースの識別を簡素化します。
  4. 静的構成を変更した後、アプリケーション・サーバーを再始動します。

以下のサンプル・セキュリティー・ポリシーでは、 ファイル・システムおよびランタイム・クラスへのアクセスが許可されます。 ロガーおよびハンドラーの制御されたプロパティーをアプリケーションでプログラマチックに変更する場合は、このセキュリティー・ポリシーを、エントリー permission java.util.logging.LoggingPermission "control"とともにアプリケーションの META-INF ディレクトリーに組み込みます。 META-INF ファイルは、モジュール・タイプごとに以下のロケーションにあります。

プロジェクト名 Location
EJB プロジェクト ejbModule/META-INF/MANIFEST.MF
アプリケーション・クライアント・プロジェクト appClientModule/META-INF/MANIFEST.MF
動的 Web プロジェクト WebContent/META-INF/MANIFEST.MF
コネクター・プロジェクト connectorModule/META-INF/MANIFEST.MF

以下の例のセキュリティー・ポリシーでは、ロギングのプロパティーを変更する権限が付与されます。

//////////////////////////////////////////////////
//
// WebSphere Application Server Security Policy
//
//////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////
// Allow all access to the file system and runtime classes
////////////////////////////////////////////////////////////////////////
grant codeBase "file:${application}" {
   permission java.util.logging.LoggingPermission "control";
};