В основном требуется 4 вещи для обновления со старого на новое ведение журнала cxf (rt / features / logging).
Во-первых, установите функцию ведения журнала:
final JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setFeatures(Collections.singletonList(new CustomLoggingFeature()));
Вы наделеныВам больше не нужны перехватчики (если вы их использовали, удалите их):
factory.getInInterceptors().add(new CustomMaskedLoggingInInterceptor());
factory.getOutInterceptors().add(new CustomMaskedLoggingOutInterceptor());
Во-вторых, создайте свою LoggingFeature:
public class CustomLoggingFeature extends org.apache.cxf.ext.logging.LoggingFeature {
public CustomLoggingFeature() {
super();
this.setSender(new CustomEventLogSender());
}
}
В-третьих, создайте свой EventLogSender:
public class CustomEventLogSender extends Slf4jVerboseEventSender {
@Override
protected String getLogMessage(LogEvent event) {
String logMessage = super.getLogMessage(event);
return CustomMasker.mask(logMessage);
}
}
В-четвертых, создайте класс CustomMasker, в котором у вас есть собственная логика управления строками для маскировки нужной информации.
Дайте мне знатьесли бы это сработало!