我正在运行一个多模块Spring + CXF项目。
不同的模块包含许多不同的JAXRS和JAXWS CXF服务器,以及更多,具有非常不同但唯一的URL前缀。
我有自己的“ CommonsRequestLoggingFilter”实现。现在我要改善它。我的目标是在MDC /日志消息中包括服务服务类位于哪个模块/程序包中(如果请求映射到cxf端点)。
更改为某些基于CXF拦截器的请求日志不是一种选择,出于其他原因,我不得不改进基于Spring的请求日志。
我试图收集CXF的注册目的地,以检查请求uri是否适合该目的地,但是我找不到将资源类映射到它们的方法。
例如: 我有一个这样配置的cxf端点:
JAXRSServerFactoryBean endpoint = new JAXRSServerFactoryBean();
endpoint.setAddress(basePath + "/asdf/);
endpoint.setServiceBeanObjects(myresources.toArray());
...
return endpoint.create();
(myresources数组只能包含来自同一模块/根包的资源)
如果要发送到/ asdf / *的请求,我希望在SPRING日志中看到它,服务类是哪个模块/程序包(myresources)。