如何使Spring WebServices记录所有SOAP请求?

我需要所有已登录的SOAP请求CommonLogFormat,以及持续时间(处理请求所花费的时间)。

最好的方法是什么?看起来可以为Spring WebServices配置log4j,但是它将记录所有值吗?

将以下行添加到log4j.xml

<appender

name="SPRINGLOGFILE"

class="org.apache.log4j.RollingFileAppender">

<param

name="File"

value="logs/spring.log" />

<param

name="Append"

value="true" />

<param

name="MaxFileSize"

value="1MB" />

<param

name="MaxBackupIndex"

value="5" />

<layout class="org.apache.log4j.PatternLayout">

<param

name="ConversionPattern"

value="%d %-5p %c{2} - %m%n" />

</layout>

</appender>

<logger name="org.springframework.ws">

<priority value="DEBUG" />

<appender-ref ref="SPRINGLOGFILE" />

</logger>

编辑:我们实际上是在使用SLF4J,而不是Log4j。另外,看起来可以通过配置PayloadLoggingInterceptor来做到这一点

但是我不确定日志消息会去哪里。我将该拦截器添加到了我们的拦截器中,但没有看到任何日志消息。

回答:

对于Spring Boot项目,application.properties在我下面添加了以下内容:

logging.level.org.springframework.web=DEBUG

logging.level.org.springframework.ws.client.MessageTracing.sent=DEBUG

logging.level.org.springframework.ws.server.MessageTracing.sent=DEBUG

logging.level.org.springframework.ws.client.MessageTracing.received=TRACE

logging.level.org.springframework.ws.server.MessageTracing.received=TRACE

以上是 如何使Spring WebServices记录所有SOAP请求? 的全部内容, 来源链接: utcz.com/qa/402337.html

回到顶部