@Published(tag="architect") public class MessagingLogFormatter extends java.lang.Object
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. そのほか - スレッド名 - メッセージヘッダ
Modifier and Type | Class and Description |
---|---|
static class |
MessagingLogFormatter.CorrelationId
出力項目(関連メッセージID)
|
static class |
MessagingLogFormatter.Destination
出力項目(宛先キュー名)
|
static class |
MessagingLogFormatter.MessageBody
出力項目(メッセージボディ内容)
出力文字列はフォーマッターの文字エンコーディングで出力される。
このため、データタイプ P/B のフィールド部分は文字化けする。
また、マスク対象パターンが設定されている場合、該当箇所がマスクされて出力される。
|
static class |
MessagingLogFormatter.MessageBodyHex
出力項目(メッセージボディ内容)
メッセージボディのヘキサダンプを出力する。
また、マスク対象パターンが設定されている場合、該当箇所がマスクされた後のヘキサダンプが出力される。
|
static class |
MessagingLogFormatter.MessageBodyLength
出力項目(メッセージボディバイト長)
|
static class |
MessagingLogFormatter.MessageHeader
出力項目(メッセージヘッダ)
メッセージヘッダの内容を出力する。
|
static class |
MessagingLogFormatter.MessageId
出力項目(メッセージID)
|
static class |
MessagingLogFormatter.MessagingLogContext
ログの出力内容を保持するクラス。
|
static class |
MessagingLogFormatter.ReplyTo
出力項目(応答宛先キュー名)
|
static class |
MessagingLogFormatter.ThreadName
出力項目(スレッド名)
|
static class |
MessagingLogFormatter.TimeToLive
出力項目(メッセージ有効期間)
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
PROPS_PREFIX
プロパティ名のプレフィックス
|
Constructor and Description |
---|
MessagingLogFormatter() |
Modifier and Type | Method and Description |
---|---|
protected java.util.regex.Pattern[] |
getBodyMaskingPatterns(java.util.Map<java.lang.String,java.lang.String> props)
本文のマスク対象のパラメータ名を取得する。
プロパティの指定がない場合はデフォルト値を返す。 |
protected LogItem<MessagingLogFormatter.MessagingLogContext>[] |
getFormattedLogItems(java.util.Map<java.lang.String,LogItem<MessagingLogFormatter.MessagingLogContext>> logItems,
java.util.Map<java.lang.String,java.lang.String> props,
java.lang.String formatPropName,
java.lang.String defaultFormat)
フォーマット済みのログ出力項目を取得する。
|
java.lang.String |
getHttpReceivedMessageLog(ReceivedMessage message,
java.nio.charset.Charset charset)
同期送信処理開始時に出力されるログ文字列を生成する。
|
java.lang.String |
getHttpSentMessageLog(SendingMessage message,
java.nio.charset.Charset charset)
同期送信処理開始時に出力されるログ文字列を生成する。
|
protected java.util.Map<java.lang.String,LogItem<MessagingLogFormatter.MessagingLogContext>> |
getLogItems()
フォーマット対象のログ出力項目を取得する。
|
protected char |
getMaskingChar(java.util.Map<java.lang.String,java.lang.String> props)
マスク文字を取得する。
|
protected java.lang.String |
getProp(java.util.Map<java.lang.String,java.lang.String> props,
java.lang.String propName,
java.lang.String defaultValue)
プロパティを取得する。
プロパティの指定がない場合はデフォルト値を返す。 |
java.lang.String |
getReceivedMessageLog(ReceivedMessage message)
同期送信処理開始時に出力されるログ文字列を生成する。
|
java.lang.String |
getSentMessageLog(SendingMessage message)
同期送信処理開始時に出力されるログ文字列を生成する。
|
public static final java.lang.String PROPS_PREFIX
public java.lang.String getSentMessageLog(SendingMessage message)
message
- 電文オブジェクトpublic java.lang.String getReceivedMessageLog(ReceivedMessage message)
message
- 電文オブジェクトpublic java.lang.String getHttpSentMessageLog(SendingMessage message, java.nio.charset.Charset charset)
message
- 電文オブジェクトcharset
- 出力に使用する文字セットpublic java.lang.String getHttpReceivedMessageLog(ReceivedMessage message, java.nio.charset.Charset charset)
message
- 電文オブジェクトcharset
- 出力に使用する文字セットprotected LogItem<MessagingLogFormatter.MessagingLogContext>[] getFormattedLogItems(java.util.Map<java.lang.String,LogItem<MessagingLogFormatter.MessagingLogContext>> logItems, java.util.Map<java.lang.String,java.lang.String> props, java.lang.String formatPropName, java.lang.String defaultFormat)
logItems
- フォーマット対象のログ出力項目props
- 各種ログ出力の設定情報formatPropName
- フォーマットのプロパティ名defaultFormat
- デフォルトのフォーマットprotected java.util.Map<java.lang.String,LogItem<MessagingLogFormatter.MessagingLogContext>> getLogItems()
protected char getMaskingChar(java.util.Map<java.lang.String,java.lang.String> props)
props
- 各種ログの設定情報protected java.util.regex.Pattern[] getBodyMaskingPatterns(java.util.Map<java.lang.String,java.lang.String> props)
props
- 各種ログの設定情報protected java.lang.String getProp(java.util.Map<java.lang.String,java.lang.String> props, java.lang.String propName, java.lang.String defaultValue)
props
- 各種ログの設定情報propName
- プロパティ名defaultValue
- プロパティのデフォルト値