intra-mart Accel GroupMail 設定ファイルリファレンス 第7版 2022-12-01

ログ設定ファイル

概要

intra-mart Accel GroupMail のログ出力情報の設定です。

モジュール Accel GroupMail
設定場所 WEB-INF/conf/iag-logger.xml
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
       <included>

           <!--
             - GROUPMAIL_USER_CONTEXT
             -->
           <appender name="GROUPMAIL_USER_CONTEXT" class="ch.qos.logback.core.rolling.RollingFileAppender">
               <file>${im.log}/product/groupmail/groupmail-user_context.log</file>
               <append>true</append>

               <!--
               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                   <fileNamePattern>
                       ${im.log}/product/groupmail/groupmail-user_context-%d{yyyy-MM-dd}.log
                   </fileNamePattern>
               </rollingPolicy>
               -->

               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                   <fileNamePattern>${im.log}/product/groupmail/groupmail-user_context%i.log</fileNamePattern>
                   <minIndex>1</minIndex>
                   <maxIndex>5</maxIndex>
               </rollingPolicy>

               <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                   <maxFileSize>10MB</maxFileSize>
               </triggeringPolicy>

               <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
                   <layout class="jp.co.intra_mart.common.platform.log.layout.OutputStackTracePatternLayout">
                       <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}]  [%thread] %X{log.report.sequence} %-5level %X{tenant.id} %X{log.id} - %msg%nopex%n</pattern>

                       <enableOutputStackTrace>true</enableOutputStackTrace>
                       <stackTraceDir>${im.log}/product/groupmail/exception/</stackTraceDir>
                       <stackTraceFilename>'exception_'yyyy-MM-dd_HH-mm-ss'_%logId.log'</stackTraceFilename>
                   </layout>
               </encoder>
               <immediateFlush>true</immediateFlush>
           </appender>

           <logger name="GROUPMAIL_USER_CONTEXT" additivity="false">
               <level value="info" />
               <appender-ref ref="GROUPMAIL_USER_CONTEXT" />
               <appender-ref ref="STDOUT" />
           </logger>

           <!--
             - GROUPMAIL
             -->
           <appender name="GROUPMAIL" class="ch.qos.logback.core.rolling.RollingFileAppender">
               <file>${im.log}/product/groupmail/groupmail-application.log</file>
               <append>true</append>

               <!--
               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                   <fileNamePattern>
                       ${im.log}/product/groupmail/groupmail-application-%d{yyyy-MM-dd}.log
                   </fileNamePattern>
               </rollingPolicy>
               -->

               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                   <fileNamePattern>${im.log}/product/groupmail/groupmail-application%i.log</fileNamePattern>
                   <minIndex>1</minIndex>
                   <maxIndex>5</maxIndex>
               </rollingPolicy>

               <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                   <maxFileSize>10MB</maxFileSize>
               </triggeringPolicy>

               <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
                   <layout class="jp.co.intra_mart.common.platform.log.layout.OutputStackTracePatternLayout">
                       <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}]        [%thread]       %-5level        %X{tenant.id}   %X{log.id}      %X{request.id}  %X{iag.contextUserCd}   %msg%n</pattern>
                       <enableOutputStackTrace>true</enableOutputStackTrace>
                       <stackTraceDir>${im.log}/product/groupmail/exception/</stackTraceDir>
                       <stackTraceFilename>'exception_'yyyy-MM-dd_HH-mm-ss'_%logId.log'</stackTraceFilename>
                   </layout>
               </encoder>
               <immediateFlush>true</immediateFlush>
           </appender>

           <logger name="GROUPMAIL" additivity="false">
               <level value="error" />
               <appender-ref ref="GROUPMAIL" />
               <appender-ref ref="STDOUT" />
           </logger>

           <!--
             - GROUPMAIL_AUDIT
             -->
           <appender name="GROUPMAIL_AUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender">
               <file>${im.log}/product/groupmail/groupmail-audit.log</file>
               <append>true</append>

               <!--
               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                   <fileNamePattern>
                       ${im.log}/product/groupmail/groupmail-audit-%d{yyyy-MM-dd}.log
                   </fileNamePattern>
               </rollingPolicy>
               -->

               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                   <fileNamePattern>${im.log}/product/groupmail/groupmail-audit%i.log</fileNamePattern>
                   <minIndex>1</minIndex>
                   <maxIndex>5</maxIndex>
               </rollingPolicy>

               <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                   <maxFileSize>10MB</maxFileSize>
               </triggeringPolicy>

               <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
                   <layout class="jp.co.intra_mart.common.platform.log.layout.OutputStackTracePatternLayout">
                       <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}]        [%thread]       %-5level        %X{tenant.id}   %X{log.id}      %X{request.id}  %X{iag.contextUserCd}   %X{iag.mailId}  %X{iag.operation}       %X{iag.sender}  %X{iag.to}      %X{iag.cc}      %X{iag.bcc}     %X{iag.title}   %X{iag.escapedContent}  %X{iag.contentType}     %X{iag.attachmentNames} %X{iag.fileCd}  %X{iag.path}%nopex%n</pattern>
                       <enableOutputStackTrace>true</enableOutputStackTrace>
                       <stackTraceDir>${im.log}/product/groupmail/exception/</stackTraceDir>
                       <stackTraceFilename>'exception_'yyyy-MM-dd_HH-mm-ss'_%logId.log'</stackTraceFilename>
                   </layout>
               </encoder>
               <immediateFlush>true</immediateFlush>
           </appender>

           <logger name="GROUPMAIL_AUDIT" additivity="false">
               <level value="info" />
               <appender-ref ref="GROUPMAIL_AUDIT" />
           </logger>

       </included>

コラム

Accel GroupMail に特化しない項目については、intra-mart Accel Platform ログ仕様書を参考してください。

監査ログ

以下の操作結果のログを出力します。
● メール送信
● メール参照
● 添付ファイルダウンロード
● メール削除
● 添付ファイル削除

標準出力設定

ログレベル(初期値) INFO
出力先(初期値) ${im.log}/groupmail/groupmail-audit.log

出力パターン

利用可能なパターン文字列

フォーマット文字列 説明
%d
出力日時
初期書式は”yyyy-MM-dd HH:mm:ss.SSS”となります。
%thread スレッド名
%level ログレベル(INFO)
%logger ロガー名
%msg
ログメッセージ
リクエストを受け付けた時はIN、レスポンスを返却した時はOUTが出力されます。
%x
MDC

利用可能なMDCキー

リクエストログで利用可能なMDCのキーは以下の通りです。
MDCキー 説明
iag.contextUserCd
処理者のユーザIDを出力します。
iag.mailId
メールのメールIDを出力します。
iag.operation
iAG の操作種別を出力します。
● SEND メール送信
● SAVE メール下書き保存
● PULL_BACK メール送信取消
● REFER メール参照
● FILE_DOWNLOAD 添付ファイルダウンロード
● DELETE メール削除
● FILE_DELETE 添付ファイル削除
iag.sender
メールの差出人のユーザIDを出力します。
iag.to
メールの宛先(TO)のユーザID、グループIDを出力します。
複数の場合はユーザ、会社・組織、パブリックグループ、プライベートグループの順かつ
名称の昇順にカンマ区切りで出力します。

グループIDの出力内容は以下の通りになります。
● 会社・組織
会社コード + “|” + 組織セットコード + “|” + 組織コード
● パブリックグループ
“public|” + パブリックグループセットコード + “|” + パブリックグループコード
● プライベートグループ
“private|” + プライベートグループコード
iag.cc
メールの宛先(CC)のユーザID、グループIDを出力します。
複数の場合はユーザ、会社・組織、パブリックグループ、プライベートグループの順かつ
名称の昇順にカンマ区切りで出力します。

グループIDの出力内容は以下の通りになります。
● 会社・組織
会社コード + “|” + 組織セットコード + “|” + 組織コード
● パブリックグループ
“public|” + パブリックグループセットコード + “|” + パブリックグループコード
● プライベートグループ
“private|” + プライベートグループコード
iag.bcc
メールの宛先(BCC)のユーザID、グループIDを出力します。
複数の場合はユーザ、会社・組織、パブリックグループ、プライベートグループの順かつ
名称の昇順にカンマ区切りで出力します。

グループIDの出力内容は以下の通りになります。
● 会社・組織
会社コード + “|” + 組織セットコード + “|” + 組織コード
● パブリックグループ
“public|” + パブリックグループセットコード + “|” + パブリックグループコード
● プライベートグループ
“private|” + プライベートグループコード
iag.title
メールの件名を出力します。件名が未設定の場合は空欄を出力します。
iag.content
メールの本文を出力します。
iag.escapedContent
メールの本文の改行とタブを空文字に置換して出力します。
iag.contentType
メールの本文の形式を出力します。
● HTML  HTML形式
● TEXT  プレーンテキスト形式
iag.attachmentNames
メールの添付ファイル名を出力します。複数の場合はカンマ区切りで出力します。
iag.fileCd
添付ファイルのファイルIDを出力します。複数の場合はカンマ区切りで出力します。
iag.path
メールの添付ファイルの格納先(ファイル名を含む)を出力します。
複数の場合はカンマ区切りで出力します。
格納先はパブリックストレージから相対パスとし、ディレクトリは”/”で区切ります。

アプリケーションログ

APIの開始と終了及び処理結果をログ出力します。

標準出力設定

ログレベル(初期値) ERROR
出力先(初期値) ${im.log}/groupmail/groupmail-application.log

出力パターン

利用可能なパターン文字列

フォーマット文字列 説明
%d
出力日時
初期書式は”yyyy-MM-dd HH:mm:ss.SSS”となります。
%thread スレッド名
%level ログレベル(OFF)
%logger ロガー名
%msg
ログメッセージ
リクエストを受け付けた時はIN、レスポンスを返却した時はOUTが出力されます。
%x
MDC

利用可能なMDCキー

リクエストログで利用可能なMDCのキーは以下の通りです。
MDCキー 説明
iag.contextUserCd
処理者のユーザIDを出力します。