3.3.1 Webサービスサーバにおけるログ機能
Webサービスサーバへ、クライアントアプリケーションからSOAPでアクセスされた際に、そのクライアント情報と操作情報を監査ログとして記録します。その際に記録する項目は下表を参照してください。記録時には別途フィルタリング設定をしておくことにより、そのフィルタ条件を満たすもののみログに残すことができ、かつ、項目毎にログに記録する・しないを設定することができます。
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>