#java #web-services #logging #cxf
Вопрос:
Я разрабатывал клиентский проект для использования некоторых веб-сервисов из abc.wsdl. Все связанные классы создаются с помощью плагина cxf и wsdltojava. Кроме того, генерация классов упакована в jar, и я использовал ее в качестве зависимости в своем клиентском проекте. Итак, есть какая-то проблема с вызовом службы, и мне нужно зарегистрировать входящий запрос и ответ. Поэтому я попытался включить ведение журнала с помощью перехватчиков CXF. Проблема в том, что журналы не добавляются в файл журнала. Может ли кто-нибудь помочь с этим?
Конфигурации:
@Bean
public LoggingInInterceptor loggingInInterceptor() {
log.info("LoggingInInterceptor Testing");
LoggingInInterceptor loggingInInterceptor = new LoggingInInterceptor();
loggingInInterceptor.setPrettyLogging(true);
return loggingInInterceptor;
}
@Bean
public LoggingOutInterceptor loggingOutInterceptor() {
log.info("LoggingOutInterceptor Testing");
LoggingOutInterceptor loggingOutInterceptor = new LoggingOutInterceptor();
loggingOutInterceptor.setPrettyLogging(true);
return loggingOutInterceptor;
}
Клиентский класс:
@PostConstruct
public void init () {
Bus bus = BusFactory.getDefaultBus();
bus.getInInterceptors().add(loggingInInterceptor);
bus.getInInterceptors().add(loggingOutInterceptor);
}
META-INF/org.apache.cxf.Регистратор :
org.apache.cxf.common.logging.Slf4jLogger
logback.xml:
<appender name="myLogger" class="ch.qos.logback.core.rolling.RollingFileAppender">
<prudent>true</prudent>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${home.log.dir}/myLogger.log.%d</fileNamePattern>
<maxHistory>90</maxHistory>
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d %-5level %logger{35} [%X{X-UID} %X{X-SID} %X{X-CID} %X{X-TID}] - %msg %n</pattern>
</encoder>
</appender>
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="myLogger" />
<neverBlock>true</neverBlock>
</appender>
<logger name="org.apache.cxf.services" level="INFO">
<appender-ref ref="ASYNC" />
</logger>
<root>
<level value="WARN" />
<appender-ref ref="ASYNC" />
<appender-ref ref="consoleLogger" />
</root>
Любая помощь приветствуется. Заранее спасибо.