5.3 SOAP 通信におけるログ
Web サービスサーバへ、クライアントアプリケーションから SOAP でアクセスされた際に、そのクライアント情報と操作情報を監査ログとして記録します。その際に記録する項目は下表を参照してください。
ログは、デフォルト設定の場合は、logs/soap.log に記録されます。
soap.log
| 項目名 | 説明 |
|---|---|
| HostName | リクエストを送信したクライアントのホスト名 |
| IpAddress | リクエストを送信したクライアントのIPアドレス |
| Service | WSSのサービス名 |
| Operation | WSSのオペレーション名 |
| RequestEnvelope ※1 | SOAPリクエスト・エンベロープ |
| ResponseEnvelope ※1 | SOAPレスポンス・エンベロープ |
| RequestTime | リクエストを受け付けたシステム時刻 |
| User | リクエストを送信したクライアントのユーザ名 ただし、ユーザ認証を経てアクセスされた場合に限る |
| UserDef | ロギング設定サービス経由で設定した値 HTTPのリクエストにてパラメータ名"UserDef"として設定された文字列が使用される |
- ※1インストール時のデフォルト状態では出力されません。SOAPレスポンス・エンベロープは実際に生成されたPDFファイルの内容を含むため、ファイルのデータ量に応じて大量のログが出力されます。
一時的な動作確認のためにこのログを出力する場合は、以下のようにlogback.xmlの「SOAP Log definitions」内のコメントアウト個所をコメントインする必要があります。動作確認後は設定を元に戻してください。
<!--
SOAP Log definitions
-->
<appender name="SOAP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/soap.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${log.dir}/soap.%d{yyyy-MM-dd}.log</FileNamePattern>
</rollingPolicy>
<encoder>
<Pattern>%X{RequestTime} %d{yyyy-MM-dd HH:mm:ss.SSS} %X{HostName} %X{IpAddress} %X{Service} %X{Operation} %X{User} %X{UserDef}%n</Pattern>
<!--
<Pattern>%X{RequestTime} %d{yyyy-MM-dd HH:mm:ss.SSS} %X{HostName} %X{IpAddress} %X{Service} %X{Operation} %X{User} %X{UserDef}%n%X{RequestEnvelope}%n%X{ResponseEnvelope}%n</Pattern>
-->
<charset>UTF-8</charset>
</encoder>
</appender>
<logger name="com.brainsellers.webservices.logging.LogHandler" additivity="false" level="INFO">
<appender-ref ref="SOAP_FILE" />
</logger>
<!--
SOAP Log definitions
-->
<appender name="SOAP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/soap.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${log.dir}/soap.%d{yyyy-MM-dd}.log</FileNamePattern>
</rollingPolicy>
<encoder>
<!--
<Pattern>%X{RequestTime} %d{yyyy-MM-dd HH:mm:ss.SSS} %X{HostName} %X{IpAddress} %X{Service} %X{Operation} %X{User} %X{UserDef}%n</Pattern>
-->
<Pattern>%X{RequestTime} %d{yyyy-MM-dd HH:mm:ss.SSS} %X{HostName} %X{IpAddress} %X{Service} %X{Operation} %X{User} %X{UserDef}%n%X{RequestEnvelope}%n%X{ResponseEnvelope}%n</Pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<logger name="com.brainsellers.webservices.logging.LogHandler" additivity="false" level="INFO">
<appender-ref ref="SOAP_FILE" />
</logger>
