如何使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=DEBUGlogging.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