4 WebLogic Server ログからのメ ッ セージのリ スン
手順 3 : 通知フ ィ ルタの作成と登録
4 WebLogic Server
ログからの メ ッ セージの リ ス ン手順
3 :
通知 フ ィ ル タ の作成 と 登録 前、 メ ッ セージ テキ ス ト など を取得でき ます。 詳細については、「
WebLogicLogNotification
オブジ ェ ク ト」 を参照し て く だ さ い。c.
ブールを使用し て 、 シ リ ア ラ イ ズ可能なオブジ ェ ク ト が true 値を返すか ど う かを示す。d.
(省略可能) ブールの true に応じ てア ク シ ョ ンを実行する コー ド を挿入す る。 た と えば、 メ ッ セージの重大度が WARNING以上の場合にフ ィ ルタがJavaMail API
を使用し て管理者に電子 メ ールを送信する よ う にでき ます。3.
addNotificationListenerAPI を使用し てフ ィ ルタ を登録し ます。 詳細に
ついては、4-8
ページの 「addNotificationListener API の使用」 を参照し てく だ さ い。WebLogicLogNotification オブジ ェ ク ト
WebLogic Server
が生成するすべての メ ッ セージは、weblogic.management.logging.WebLogicLogNotificationオブジ ェ ク ト と し て機能し ます。WebLogicLogNotification
オブジ ェ ク ト には以下のフ ィ ール
ド で構成さ れます。タ イ プ —JMX 仕様で必要 と さ れる と お り に通知を識別する。 こ のフ ィ ール ド の形式は次の よ う にな り ます。
weblogic.logMessage.subSystem.messageID
こ こ で、subSystemはロ グ メ ッ セージ を発行し たサブシ ス テ ム ま たはアプ リ ケーシ ョ ンで、messageID
は WebLogic Server 内部の メ ッ セージ ID です。
注意
:
NonCatalogLogger メ ッ セージの場合、 メ ッ セージ ID は常に 000000 です。タ イ ム ス タ ンプ — こ の通知の元 と な る ロ グ メ ッ セージがサーバによ って生 成さ れた時間。
連続番号
メ ッ セージ — ロ グ メ ッ セージ。
ユーザ データ — 現在は こ のフ ィ ール ド は使用さ れていません。
4 WebLogic Server
ログからの メ ッ セージの リ ス ンWebLogicLogNotificationは、javax.management.Notificationか ら ゲ ッ ター メ ソ ッ ド 継承し、 ロ グ メ ッ セージ内のフ ィ ール ド ご と に 1 つのゲ ッ ター メ ソ ッ ド を提供し ます (図 4-4を参照 )。
こ れ ら のゲ ッ ター メ ソ ッ ド を使用する と 、WebLogicLogNotification内の情報 を検索または出力で き ます。 詳細については、
weblogic.management.logging.WebLogicLogNotification
Javadoc
を参照し て く だ さ い。図
4-4 WebLogicLogNotification
ゲ ッ ター メ ソ ッ ドWebLogicLogNotification
getServerName() Type
TimeStamp SequenceNumber Message
UserData ServerName ThreadId UserId Severity ...
getThreadId() getUserId() getSeverity() ...
Notification
getTimeStamp() getSequenceNumber() getMessage()
getUserData() ...
source
手順
3 :
通知 フ ィ ル タ の作成 と 登録通知フ ィ ルタの例
コー ド リ ス ト 4-6に、WebLogicLogNotification.getType メ ソ ッ ド を使用す る NotificationFilterの例を示し ます。
コー ド リ ス ト
4-6
通知フ ィ ルタの例 import javax.management.Notification;import javax.management.NotificationFilter;
import javax.management.Notification.*;
import weblogic.management.logging.WebLogicLogNotification;
....
public class MyLogNotificationFilter implements NotificationFilter, java.io.Serializable {
public MyLogNotificationFilter() { subsystem = "";
}
public boolean isNotificationEnabled(Notification notification) { if (!(notification instanceof WebLogicLogNotification)) {
return false;
}
WebLogicLogNotification wln = (WebLogicLogNotification)notification;
if (subsystem == null ||
subsystem.equals("")) { return true;
}
StringTokenizer tokens = new StringTokenizer(wln.getType(), ".");
tokens.nextToken();
tokens.nextToken();
return (tokens.nextToken().equals(subsystem));
}
public void setSubsystemFilter(String newSubsystem) { subsystem = newSubsystem;
} }
4 WebLogic Server
ログからの メ ッ セージの リ ス ン索引
A
addNotificationListenerメソッド 4-8
Administration Console 3-1
ALERT重大度 2-12
C
Console
、Administration 3-1 CRITICAL重大度 2-12E
EMERGENCY重大度 2-12 ERROR重大度 2-12
ExceptionNameメッセージ フィールド
2-10
G
GenericServlet
2-11
H
handleNotificationメソッド ローカル アプリケーション用 4-3 定義 4-1
I
INFO重大度 2-12
J
Java
クラス ファイル 2-4Java
クラス ファイルのコンパイル 2-5Java 仮想マシン。「リモート JVM」を参照 Java
パッケージ名 2-5JMX 1-5 JSP
NotificationListeners
4-3
GenericServlet2-11
NotificationListeners4-5
メッセージ カタログ 2-6L
LocalizedTimestamp
メッセージ フィー
ルド 2-10Log4j 2-12
LogBroadcasterRuntimeMBean
オブジェ
オブジェクト名の取得 4-8クト定義 4-1
LogBroadCasterRuntimeMBeanオブジェ クトのオブジェクト名 4-8–4-11
M
MachineNameメッセージ フィールド 取得 4-13
定義 2-10
Messageメッセージ フィールド 2-10, 4-13 MessageIdメッセージ フィールド
取得 4-13 定義 2-10
millisecondsFromEpochメッセージ フィールド 2-10
N
NonCatalogLoggerオブジェクト メッセージ ID 4-13