Después de de esta larga compilación de información resolvimos este apuro que suelen tener muchos los lectores. Te compartimos la respuesta y deseamos serte de gran apoyo.
Solución:
Lo que este mensaje le está diciendo es que use el Apache CXF Advanced logging feature
módulo.
Su dependencia es (última versión)
org.apache.cxf
cxf-rt-features-logging
3.3.0
test
En el interior encontrará un comparable org.apache.cxf.ext.logging.LoggingInInterceptor
(Enlace)
No soy un usuario de CXF, sin embargo, supongo que tendrás que interactuar con un JaxWsProxyFactoryBean
.
Recuerde que necesita usar la misma versión para todos los módulos CXF.
Después de conseguirlo, puedes hacer
factory.getInInterceptors().add(new MyCustomInterceptor());
Básicamente, se necesitan 4 cosas para actualizar el registro cxf antiguo al nuevo (rt/features/logging).
Primero, configure la función de registro:
final JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setFeatures(Collections.singletonList(new CustomLoggingFeature()));
Ya no necesitas los interceptores (en caso de que los hayas usado, bórralos):
factory.getInInterceptors().add(new CustomMaskedLoggingInInterceptor());
factory.getOutInterceptors().add(new CustomMaskedLoggingOutInterceptor());
En segundo lugar, crea tu LoggingFeature:
public class CustomLoggingFeature extends org.apache.cxf.ext.logging.LoggingFeature
public CustomLoggingFeature()
super();
this.setSender(new CustomEventLogSender());
Tercero, cree su EventLogSender:
public class CustomEventLogSender extends Slf4jVerboseEventSender
@Override
protected String getLogMessage(LogEvent event)
String logMessage = super.getLogMessage(event);
return CustomMasker.mask(logMessage);
Cuarto, cree una clase CustomMasker donde tenga su propia string lógica de manipulación para enmascarar la información deseada.
¡Déjame saber si funcionó!
Si haces scroll puedes encontrar las acotaciones de otros usuarios, tú incluso tienes la opción de mostrar el tuyo si lo deseas.