Class MessagingLogFormatter

java.lang.Object
nablarch.fw.messaging.logging.MessagingLogFormatter
Direct Known Subclasses:
MessagingJsonLogFormatter

@Published(tag="architect") public class MessagingLogFormatter extends 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. そのほか
     - スレッド名
     - メッセージヘッダ
 
  • Field Details

  • Constructor Details

    • MessagingLogFormatter

      public MessagingLogFormatter()
  • Method Details

    • getSentMessageLog

      public String getSentMessageLog(SendingMessage message)
      同期送信処理開始時に出力されるログ文字列を生成する。
      Parameters:
      message - 電文オブジェクト
      Returns:
      ログ文字列
    • getReceivedMessageLog

      public String getReceivedMessageLog(ReceivedMessage message)
      同期送信処理開始時に出力されるログ文字列を生成する。
      Parameters:
      message - 電文オブジェクト
      Returns:
      ログ文字列
    • getHttpSentMessageLog

      public String getHttpSentMessageLog(SendingMessage message, Charset charset)
      同期送信処理開始時に出力されるログ文字列を生成する。
      Parameters:
      message - 電文オブジェクト
      charset - 出力に使用する文字セット
      Returns:
      ログ文字列
    • getHttpReceivedMessageLog

      public String getHttpReceivedMessageLog(ReceivedMessage message, Charset charset)
      同期送信処理開始時に出力されるログ文字列を生成する。
      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

      protected char getMaskingChar(Map<String,String> props)
      マスク文字を取得する。
      Parameters:
      props - 各種ログの設定情報
      Returns:
      マスク文字
    • getBodyMaskingPatterns

      protected Pattern[] getBodyMaskingPatterns(Map<String,String> props)
      本文のマスク対象のパラメータ名を取得する。
      プロパティの指定がない場合はデフォルト値を返す。
      Parameters:
      props - 各種ログの設定情報
      Returns:
      マスク対象のパラメータ名
    • getProp

      protected String getProp(Map<String,String> props, String propName, String defaultValue)
      プロパティを取得する。
      プロパティの指定がない場合はデフォルト値を返す。
      Parameters:
      props - 各種ログの設定情報
      propName - プロパティ名
      defaultValue - プロパティのデフォルト値
      Returns:
      プロパティ