如何使用 Slf4j 的 Logback 实现以 Spring 记录 soap 客户端消息

How to log soap client messages with Spring using the Logback implementation of Slf4j

如何使用 Logback 作为日志记录框架来记录所有通过 Web 服务模板发送的客户端 SOAP 消息(及其响应)?

到目前为止我看到的答案,例如: How can I make Spring WebServices log all SOAP requests?

参考公共日志记录,我已将其排除在外:

<exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>

,或端点日志记录。

如果我理解正确,我应该提供拦截器的实现,它应该设置为 web 服务模板 属性。

谁能告诉我代码示例如何做到这一点?

像这样:

public class LogbackInterceptor implements ClientInterceptor {

    private final Logger logger = LoggerFactory.getLogger(LogbackInterceptor .class);


     public boolean handleRequest(MessageContext messageContext) throws WebServiceClientException {
           logger.debug("Sent request [" + messageContext.getRequest() + "]");
           return true;
     }

     public boolean handleResponse(MessageContext messageContext) throws WebServiceClientException {
           logger.debug("Received response [" + messageContext.getResponse() + "] for request [" +
                                messageContext.getRequest() + "]");
           return true;
}

.....
}

但是不清楚为什么不添加 jcl-over-slf4j.jar 并遵循该 SO 答案中的标准 WS 登录选项?..