Как регистрировать запрос Apache CXF Soap и ответ Soap с помощью Log4j?

Я использую Apache CXF Framework. В моей клиентской программе мне нужно регистрировать запросы CXF SOAP и ответы SOAP. Когда я использовал

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setAddress(host);
factory.setServiceClass(MyService.class);
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());

Я получил эти запросы SOAP и ответы SOAP в консоли:

Nov 9, 2011 6:48:01 PM org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
INFO: Outbound Message
---------------------------
ID: 2
Encoding: UTF-8
Content-Type: text/xml
Headers: {}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns4:MYResponse
--------------------------------------

Но мое фактическое требование состоит в том, что вместо того, чтобы выводить их на консоль сервера, мне нужно иметь их в файле журнала.

Когда я использовал log4j напрямую, как показано

log4j(factory.getInInterceptors().add(new LoggingInInterceptor()));
log4j(factory.getOutInterceptors().add(new LoggingOutInterceptor()));

, он печатал только true и true внутри файла журнала.

Кто-нибудь, дайте мне знать, как это настроить?

40
задан Sagar Zala 21 December 2018 в 11:33
поделиться