Oracle® Fusion Middleware Oracle WebLogic Serverアプリケーション・ロギングのためのロギング・サービスの使い方 11g リリース1 (10.3.4) B61615-02 |
|
![]() 前 |
![]() 次 |
以下の節では、アプリケーション・ロギングのためのWebLogicロギング・サービスの使い方を説明します。
WebLogicロギング・サービスは、サーバーおよびアプリケーション・イベントに関する情報を提供します。WebLogicロギング・サービスを利用すれば、どのユーザーが特定のアプリケーション・コンポーネントを呼び出すかを記録したり、エラー状態を報告したり、アプリケーションを本番環境にリリースする前にデバッグしたりできます。またアプリケーションは、このサービスを使用してステータスを伝えたり特定のイベントに応答することができます。『Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタ処理』のWebLogicロギング・サービスに関する項を参照してください。
アプリケーションにとって利点となり得るWebLogicロギング・サービスの2つの特徴は、拡張性と国際化のサポートです。
独自のログ・メッセージ・カタログを作成し、WebLogicユーティリティによって、アプリケーション・コードで使用できるJavaクラスを生成できます。アプリケーションから生成されたログ・メッセージは、サーバーによって生成されたログ・メッセージと統合され、同じように扱われます。第5章「WebLogic Serverログへのメッセージの書込み」を参照してください。
作成するログ・メッセージ・カタログは、任意の言語で記述でき、これに様々なロケール用の翻訳を付けることができます。WebLogicにおける国際化のサポートにより、WebLogic Serverが実行されている現在のロケール向けの適切な言語で記述されたログ・メッセージが存在できるようになります。第3章「WebLogic Serverの国際化およびローカライゼーション」を参照してください。
アプリケーション・ロギングを、WebLogicロギング・フレームワークに統合することで得られる主なメリットは、管理がしやすくなることです。管理コンソールを使用して、すべてのログ・ファイルおよび関連オプションを管理できます。Oracle WebLogic Server管理コンソール・ヘルプの「ログの表示と構成」を参照してください。
アプリケーションからのログ・メッセージを生成し、WebLogicロギングに統合するには、いくつかの方法があります。
WebLogicツールを使用してカスタム・ログ・メッセージ・カタログおよび関連のJava APIをビルドします。アプリケーションは、これらのインタフェースによって公開されたログ・メソッドを呼び出して、ログ・メッセージを生成できます。メッセージ・カタログは、簡単に国際化できます。第4章「WebLogic Serverでのメッセージ・カタログの使い方」を参照してください。
WebLogicの非カタログ・ロガーを使用して、ログ・メッセージを生成します。カタログからメッセージを呼び出すかわりにNonCatalogLogger
を使用することで、メッセージ・テキストをアプリケーション・コードに直接配置します。「NonCatalogLogger APIの使用」を参照してください。
javax.servlet.ServletContext
においてサーブレットおよびJSPで利用可能なlog()
メソッドを使用します。「ServletContextの使用」を参照してください。
WebLogicメッセージ・カタログ、NonCatalogLogger
、またはサーブレット・ロギングを使用しないアプリケーション開発者には、以下のことが可能です。
Java Logging APIを使用して、メッセージを生成および配信します。
Log4Jを使用してメッセージを生成し、Log4JまたはデフォルトのJava Loggingを使用してメッセージを配信するようサーバーを構成します。
Commons APIを使用してメッセージを生成します。
詳細については、http://jakarta.apache.org/commons/logging/api/index.html
で「org.apache.commons.logging」を参照してください。
サーバー・ロギング・ブリッジのハンドラ(Javaロギングの場合)またはアペンダ(Log4Jの場合)を使用。これにより、アプリケーションのログ・メッセージがWebLogicロギング・サービスにリダイレクトされます。
WebLogicロギング・インフラストラクチャでは、独自のアプリケーションおよびサブシステムによって生成されたログ・イベントを収集するロガーを、各サーバー上でサポートしています。WebLogic Serverは、管理サーバー上のドメイン・ロガーだけでなく、各サーバー上のロガーへの直接アクセスもサポートしています。
デフォルトでは、WebLogicロギング・サービスはJava Logging APIに基づいた実装を使用しています。LoggingHelper
クラスを使用すると、サーバー・ロギング用のjava.util.logging.Logger
オブジェクトへのアクセスが可能になります。「LoggingHelper」Javadocを参照してください。
別の方法としては、Java Loggingのかわりに、WebLogicロギング・サービスでLog4jを使用することもできます。Log4jが有効化されていると、weblogic.logging.log4j.Log4jLoggingHelper
クラスから、サーバーが使用しているorg.apache.log4j.Logger
への参照を取得できます。Log4j Logger
参照により、独自のカスタム・アペンダ(ハンドラ)をアタッチしてログ・イベントを受け取ったり、Logger
参照を使用してWebLogicロギング・サービスにログ・リクエストを発行したりすることができます。Log4jLoggingHelper
のJavadocを参照してください。
加えて、WebLogicロギング・サービスでは、Jakarta Commons LogFactory
およびLog
インタフェースも提供しているので、Commons APIに対するプログラミングを行って、ログ・メッセージをサーバー・ログ・ファイルまたは登録されている任意の送り先に送ることができます。このAPIにより抽象化が行われ、基底のロギング実装(Log4jまたはJava Logging)に直に触れなくて済みます。
現在WebLogicロギング・サービスを使用していないアプリケーションでは、サーバー・ロギング・ブリッジを使用できます。サーバー・ロギング・ブリッジは、アプリケーションのメッセージをWebLogicロギング・サービスにリダイレクトするための軽量の手段を提供します。アプリケーションの再構成やコードの変更を行って、WebLogicロギングAPIを使用したりする必要はありません。
サーバー・ロギング・ブリッジは次のように提供されます。
Javaロギングを使用するアプリケーション向けには、java.util.logging.Handler
オブジェクトとして提供されます。このオブジェクトは、サーバーのweblogic.Server
起動コマンドの引数の中で渡されるlogging.properties
ファイルに指定できます。
Log4Jロギングを使用するアプリケーション向けには、org.apache.log4j.Appender
オブジェクトとして提供されます。このオブジェクトは、アプリケーションのクラスパスに含まれるlog4j.properties
ファイルに指定できます。
ロギング・プロパティ・ファイルには、メッセージの重大度レベルをWebLogicロギング・サービスに伝播する方法、およびメッセージをパブリッシュする宛先も指定できます。
詳細(例を含む)は、『Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタ処理』の次の項を参照してください。
WebLogicロギング・サービスでのLog4jの使い方
WebLogicロギング・サービスでのCommons APIの使い方
ベスト・プラクティス: WebLogicロギング・サービスへのJavaロギングまたはLog4jの統合
サーバー・ロギング・ブリッジに関する項