Package nablarch.fw.messaging.logging
Class MessagingLogFormatter
java.lang.Object
nablarch.fw.messaging.logging.MessagingLogFormatter
- Direct Known Subclasses:
MessagingJsonLogFormatter
メッセージ送受信処理の中でログ出力を行うクラス。
ログファイルはキュー毎に個別に設定できる。
ログが出力されるタイミングは以下のとおり
1. 送信処理完了時 (ローカルキューへのPUT完了直後) 2. 電文受信時出力可能な項目は以下のとおり。
1. 共通プロトコルヘッダ
- メッセージID (String)
- 関連メッセージID (String)
- 送信宛先キュー論理名 (String)
- 応答宛先キュー論理名 (String)
2. メッセージボディデータ
- メッセージボディのバイト長 (int)
- メッセージボディ
- メッセージボディのヘキサダンプ
※メッセージボディに含まれる個人情報や機密情報はマスクして出力することが可能である(マスク用の設定が必要)
3. MOM固有プロトコルヘッダ(以下はJmsMessagingProviderの場合)
JMSType
JMSDeliveryMode
JMSPriority
JMSTimestamp
JMSExpiration
JMSRedelivered
JMSXDeliveryCount
JMSXGroupID
JMSXGroupSeq
JMSXProducerTXID
4. そのほか
- スレッド名
- メッセージヘッダ
- Author:
- Iwauo Tajima
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class出力項目(関連メッセージID)static class出力項目(宛先キュー名)static class出力項目(メッセージボディ内容) 出力文字列はフォーマッターの文字エンコーディングで出力される。 このため、データタイプ P/B のフィールド部分は文字化けする。 また、マスク対象パターンが設定されている場合、該当箇所がマスクされて出力される。static class出力項目(メッセージボディ内容) メッセージボディのヘキサダンプを出力する。 また、マスク対象パターンが設定されている場合、該当箇所がマスクされた後のヘキサダンプが出力される。static class出力項目(メッセージボディバイト長)static class出力項目(メッセージヘッダ) メッセージヘッダの内容を出力する。static class出力項目(メッセージID)static classログの出力内容を保持するクラス。static class出力項目(応答宛先キュー名)static class出力項目(スレッド名)static class出力項目(メッセージ有効期間) -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Pattern[]getBodyMaskingPatterns(Map<String, String> props) 本文のマスク対象のパラメータ名を取得する。
プロパティの指定がない場合はデフォルト値を返す。protected LogItem<MessagingLogFormatter.MessagingLogContext>[]getFormattedLogItems(Map<String, LogItem<MessagingLogFormatter.MessagingLogContext>> logItems, Map<String, String> props, String formatPropName, String defaultFormat) フォーマット済みのログ出力項目を取得する。getHttpReceivedMessageLog(ReceivedMessage message, Charset charset) 同期送信処理開始時に出力されるログ文字列を生成する。getHttpSentMessageLog(SendingMessage message, Charset charset) 同期送信処理開始時に出力されるログ文字列を生成する。protected Map<String,LogItem<MessagingLogFormatter.MessagingLogContext>> フォーマット対象のログ出力項目を取得する。protected chargetMaskingChar(Map<String, String> props) マスク文字を取得する。protected Stringプロパティを取得する。
プロパティの指定がない場合はデフォルト値を返す。getReceivedMessageLog(ReceivedMessage message) 同期送信処理開始時に出力されるログ文字列を生成する。getSentMessageLog(SendingMessage message) 同期送信処理開始時に出力されるログ文字列を生成する。
-
Field Details
-
PROPS_PREFIX
プロパティ名のプレフィックス- See Also:
-
-
Constructor Details
-
MessagingLogFormatter
public MessagingLogFormatter()
-
-
Method Details
-
getSentMessageLog
同期送信処理開始時に出力されるログ文字列を生成する。- Parameters:
message- 電文オブジェクト- Returns:
- ログ文字列
-
getReceivedMessageLog
同期送信処理開始時に出力されるログ文字列を生成する。- Parameters:
message- 電文オブジェクト- Returns:
- ログ文字列
-
getHttpSentMessageLog
同期送信処理開始時に出力されるログ文字列を生成する。- Parameters:
message- 電文オブジェクトcharset- 出力に使用する文字セット- Returns:
- ログ文字列
-
getHttpReceivedMessageLog
同期送信処理開始時に出力されるログ文字列を生成する。- Parameters:
message- 電文オブジェクトcharset- 出力に使用する文字セット- Returns:
- ログ文字列
-
getFormattedLogItems
protected LogItem<MessagingLogFormatter.MessagingLogContext>[] getFormattedLogItems(Map<String, LogItem<MessagingLogFormatter.MessagingLogContext>> logItems, Map<String, String> props, String formatPropName, String defaultFormat) フォーマット済みのログ出力項目を取得する。- Parameters:
logItems- フォーマット対象のログ出力項目props- 各種ログ出力の設定情報formatPropName- フォーマットのプロパティ名defaultFormat- デフォルトのフォーマット- Returns:
- フォーマット済みのログ出力項目
-
getLogItems
フォーマット対象のログ出力項目を取得する。- Returns:
- フォーマット対象のログ出力項目
-
getMaskingChar
マスク文字を取得する。- Parameters:
props- 各種ログの設定情報- Returns:
- マスク文字
-
getBodyMaskingPatterns
本文のマスク対象のパラメータ名を取得する。
プロパティの指定がない場合はデフォルト値を返す。- Parameters:
props- 各種ログの設定情報- Returns:
- マスク対象のパラメータ名
-
getProp
プロパティを取得する。
プロパティの指定がない場合はデフォルト値を返す。- Parameters:
props- 各種ログの設定情報propName- プロパティ名defaultValue- プロパティのデフォルト値- Returns:
- プロパティ
-