我按照CXF网站上的说明启用了SOAP请求的记录,但是在我的日志中看不到任何记录。 我有log4j,所以我将-Dorg.apache.cxf.Logger = org.apache.cxf.common.logging.Log4jLogger添加到Tomcat jvm args,然后我创建了cxf.xml并放入了classpath。我还将logger添加到log4j配置中。 没有记录任何内容。 可能有什么问题?
cxf.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cxf="http://cxf.apache.org/core"
xsi:schemaLocation="
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<cxf:bus>
<cxf:features>
<cxf:logging/>
</cxf:features>
</cxf:bus>
</beans>
答案 0 :(得分:1)
我使用LoggingInInterceptor/LoggingOutInterceptor
并且不确定您的总线配置,但您应该确保在log4j配置中添加了正确的记录器(具有正确的名称)。
在Apache CXF - 2.5 Migration Guido中,您将找到有用的信息
Logging拦截器现在使用特定于服务的日志进行记录 类别/记录器而不仅仅是 LoggingInInterceptor / LoggingOutInterceptor。记录器的名称 使用的是 org.apache.cxf.services.ServiceName.PortName.PortTypeName。这允许 用户配置特定的每个服务过滤器和格式化程序 他们的日志配置。
我写了一篇关于使用Apache CXF进行日志记录的blog post,它提供了在我的应用程序中启用请求/响应日志记录所需的所有信息。