Oracle® Fusion Middleware Oracle WebLogic ServerにデプロイされたアプリケーションへのWebLogicロギング・サービスの追加 12c (12.2.1.1.0) E79365-01 |
|
前 |
次 |
この付録の内容は次のとおりです。
デフォルトでは、すべてのログ・メッセージ・カタログは、メッセージのWebLogicサーバー・ログへの書込みに使用されるメソッドを含むLogger
クラスを作成します。Logger
クラスには、メッセージをログに記録せずに、Loggableオブジェクトを返すメソッドをオプションで組み込むことができます。Loggableオブジェクトは、ログ・メッセージを生成しますが、実際のログへの書込みは後から行う場合に便利です。また、例外のスローなど、他の目的にメッセージ・テキストを使用する場合にも使用できます。
Loggableオブジェクトを返すメソッドを持つLogger
クラスを作成するには、メッセージ・カタログにloggables
属性を設定する必要があります。
例B-1に示すtest.xml
カタログを参照してください。
例B-1 test.xmlメッセージ・カタログ
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE message_catalog PUBLIC "weblogic-message-catalog-dtd" "http://www.bea.com/servers/wls90/dtd/msgcat.dtd"> <message_catalog subsystem="Examples" version="1.0" baseid="500000" endid="500001" loggables="true" > <logmessage messageid="500000" severity="error" method="logIOError(Throwable t)" > <messagebody> IO failure detected. </messagebody> <messagedetail> </messagedetail> <cause> </cause> <action> </action> </logmessage> </message_catalog>
このカタログをweblogic.i18ngen
ユーティリティで実行すると、このカタログに対して次の2つのメソッドを持つLogger
クラスが作成されます。
logIOError (throwable)
- メッセージをログに記録する
logIOErrorLoggable (throwable)
- Loggableオブジェクトを返す
Loggableオブジェクトの使用例は、例B-2に示しています。
例B-2 Loggableオブジェクトの使用例
package test; import weblogic.logging.Loggable; import weblogic.i18n.testLogger; ... try { // some IO } catch (IOException ioe) { Loggable l = testLogger.logIOErrorLoggable(ioe); l.log(); // log the error throw new Exception(l.getMessage());//throw new exception with same text as logged }