B WebLogic Server用のLoggableオブジェクトのリファレンス
Loggableオブジェクトは、後からログに記録されるログ・メッセージの生成に使用されます。
- Loggableオブジェクトについて
デフォルトでは、すべてのログ・メッセージ・カタログは、メッセージのWebLogic Serverログへの書込みに使用されるメソッドを含むLogger
クラスを作成します。Logger
クラスには、メッセージをログに記録せずに、Loggableオブジェクトを返すメソッドをオプションで組み込むことができます。 - Loggableオブジェクトの使用方法
Loggableオブジェクトを返すメソッドを持つLogger
クラスを作成するには、メッセージ・カタログにloggables
属性を設定する必要があります。
Loggableオブジェクトについて
デフォルトでは、すべてのログ・メッセージ・カタログは、メッセージのWebLogic Serverログへの書込みに使用されるメソッドを含む
Logger
クラスを作成します。Logger
クラスには、メッセージをログに記録せずに、Loggableオブジェクトを返すメソッドをオプションで組み込むことができます。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 }