7.1.1.2.5. メッセージングログの出力¶
メッセージングログは、 システム間メッセージング の中でメッセージ送受信時に出力する。 アプリケーションでは、ログ出力の設定を行うことにより出力する。
7.1.1.2.5.1. メッセージングログの出力方針¶
メッセージングログは、アプリケーション全体のログ出力を行うアプリケーションログに出力する。
ログレベル | ロガー名 |
---|---|
INFO | MESSAGING |
上記出力方針に対するログ出力の設定例を下記に示す。
- log.propertiesの設定例
writerNames=appLog # アプリケーションログの出力先 writer.appLog.className=nablarch.core.log.basic.FileLogWriter writer.appLog.filePath=/var/log/app/app.log writer.appLog.encoding=UTF-8 writer.appLog.maxFileSize=10000 writer.appLog.formatter.className=nablarch.core.log.basic.BasicLogFormatter writer.appLog.formatter.format=<アプリケーションログ用のフォーマット> availableLoggersNamesOrder=MESSAGING,ROO # アプリケーションログの設定 loggers.ROO.nameRegex=.* loggers.ROO.level=INFO loggers.ROO.writerNames=appLog # メッセージングログの設定 loggers.MESSAGING.nameRegex=MESSAGING loggers.MESSAGING.level=INFO loggers.MESSAGING.writerNames=appLog
7.1.1.2.5.2. 使用方法¶
7.1.1.2.5.2.1. メッセージングログの設定を行う¶
メッセージングログの設定は、 各種ログの設定を行う で説明したプロパティファイルに行う。
- 記述ルール
-
- messagingLogFormatter.className
- MessagingLogFormatter を実装したクラス。 差し替える場合に指定する。
- messagingLogFormatter.maskingPatterns
メッセージ本文のマスク対象文字列を正規表現で指定する。 正規表現で指定された最初のキャプチャ部分(括弧で囲まれた部分)がマスク対象となる。
例えばパターンとして「<password>(.+?)</password>」と指定し、 実電文に「<password>hoge</password>」が含まれる場合、 出力される文字列は「<password>****</password>」となる。
複数指定する場合はカンマ区切り。 指定した正規表現は大文字小文字を区別しない。
- messagingLogFormatter.maskingChar
- マスクに使用する文字。デフォルトは’*’。
- messagingLogFormatter.sentMessageFormat
MOM送信メッセージのログ出力に使用するフォーマット。
- フォーマットに指定可能なプレースホルダ
スレッド名: $threadName$ メッセージID: $messageId$ 送信宛先: $destination$ 関連メッセージID: $correlationId$ 応答宛先: $replyTo$ 有効期間: $timeToLive$ メッセージボディの内容: $messageBody$ メッセージボディのヘキサダンプ: $messageBodyHex$ メッセージボディのバイト長: $messageBodyLength$ - デフォルトのフォーマット
@@@@ SENT MESSAGE @@@@ \n\tthread_name = [$threadName$] \n\tmessage_id = [$messageId$] \n\tdestination = [$destination$] \n\tcorrelation_id = [$correlationId$] \n\treply_to = [$replyTo$] \n\ttime_to_live = [$timeToLive$] \n\tmessage_body = [$messageBody$]
- messagingLogFormatter.receivedMessageFormat
MOM受信メッセージのログ出力に使用するフォーマット。
- フォーマットに指定可能なプレースホルダ
スレッド名: $threadName$ メッセージID: $messageId$ 送信宛先: $destination$ 関連メッセージID: $correlationId$ 応答宛先: $replyTo$ 有効期間: $timeToLive$ メッセージボディの内容: $messageBody$ メッセージボディのヘキサダンプ: $messageBodyHex$ メッセージボディのバイト長: $messageBodyLength$ - デフォルトのフォーマット
@@@@ RECEIVED MESSAGE @@@@ \n\tthread_name = [$threadName$] \n\tmessage_id = [$messageId$] \n\tdestination = [$destination$] \n\tcorrelation_id = [$correlationId$] \n\treply_to = [$replyTo$] \n\tmessage_body = [$messageBody$]
- messagingLogFormatter.httpSentMessageFormat
HTTP送信メッセージのログ出力に使用するフォーマット。
- フォーマットに指定可能なプレースホルダ
スレッド名: $threadName$ メッセージID: $messageId$ 送信先: $destination$ 関連メッセージID: $correlationId$ メッセージボディの内容: $messageBody$ メッセージボディのヘキサダンプ: $messageBodyHex$ メッセージボディのバイト長: $messageBodyLength$ メッセージのヘッダ: $messageHeader$ - デフォルトのフォーマット
@@@@ HTTP SENT MESSAGE @@@@ \n\tthread_name = [$threadName$] \n\tmessage_id = [$messageId$] \n\tdestination = [$destination$] \n\tcorrelation_id = [$correlationId$] \n\tmessage_header = [$messageHeader$] \n\tmessage_body = [$messageBody$]
- messagingLogFormatter.httpReceivedMessageFormat
HTTP受信メッセージのログ出力に使用するフォーマット。
- フォーマットに指定可能なプレースホルダ
スレッド名: $threadName$ メッセージID: $messageId$ 送信先: $destination$ 関連メッセージID: $correlationId$ メッセージボディの内容: $messageBody$ メッセージボディのヘキサダンプ: $messageBodyHex$ メッセージボディのバイト長: $messageBodyLength$ メッセージのヘッダ: $messageHeader$ - デフォルトのフォーマット
@@@@ HTTP RECEIVED MESSAGE @@@@ \n\tthread_name = [$threadName$] \n\tmessage_id = [$messageId$] \n\tdestination = [$destination$] \n\tcorrelation_id = [$correlationId$] \n\tmessage_header = [$messageHeader$] \n\tmessage_body = [$messageBody$]
- 記述例
messagingLogFormatter.className=nablarch.fw.messaging.logging.MessagingLogFormatter messagingLogFormatter.maskingChar=# messagingLogFormatter.maskingPatterns=<password>(.+?)</password>,<mobilePhoneNumber>(.+?)</mobilePhoneNumber> # MOMメッセージング用フォーマット messagingLogFormatter.sentMessageFormat=@@@@ SENT MESSAGE @@@@\n\tthread_name = [$threadName$]\n\tmessage_id = [$messageId$]\n\tdestination = [$destination$]\n\tcorrelation_id = [$correlationId$]\n\treply_to = [$replyTo$]\n\ttime_to_live = [$timeToLive$]\n\tmessage_body = [$messageBody$] messagingLogFormatter.receivedMessageFormat=@@@@ RECEIVED MESSAGE @@@@\n\tthread_name = [$threadName$]\n\tmessage_id = [$messageId$]\n\tdestination = [$destination$]\n\tcorrelation_id = [$correlationId$]\n\treply_to = [$replyTo$]\n\tmessage_body = [$messageBody$] # HTTPメッセージング用フォーマット messagingLogFormatter.httpSentMessageFormat=@@@@ HTTP SENT MESSAGE @@@@\n\tthread_name = [$threadName$]\n\tmessage_id = [$messageId$]\n\tdestination = [$destination$]\n\tcorrelation_id = [$correlationId$]\n\tmessage_header = [$messageHeader$]\n\tmessage_body = [$messageBody$] messagingLogFormatter.httpReceivedMessageFormat=@@@@ HTTP RECEIVED MESSAGE @@@@\n\tthread_name = [$threadName$]\n\tmessage_id = [$messageId$]\n\tdestination = [$destination$]\n\tcorrelation_id = [$correlationId$]\n\tmessage_header = [$messageHeader$]\n\tmessage_body = [$messageBody$]