CXF服务器端日志记录到表

时间:2010-08-17 19:43:36

标签: java web-services spring cxf

在CXF中,您可以使用以下命令启用日志记录:

<cxf:bus>
   <cxf:features>
      <cxf:logging/>
   </cxf:features>
</cxf:bus>

来源:http://cxf.apache.org/docs/configuration.html

似乎一切都转到文件或控制台,并且似乎也可以使用Log4j进行配置。

我的问题是,如何在服务器端启用日志记录,以便您可以拦截这些原始请求和响应,并将它们与其他与服务调用相关的特定于应用程序的信息一起存储在数据库的表中。

这是服务器端服务实现类的全部内容。

1 个答案:

答案 0 :(得分:1)

您引用的示例是执行基本日志记录的最简单的配置。如果你看一下之前的例子,你可以看到一个稍微扩展的记录拦截器的方法:

<cxf:bus>
    <cxf:inInterceptors>
        <ref bean="logInbound"/>
    </cxf:inInterceptors>
    <cxf:outInterceptors>
        <ref bean="logOutbound"/>
    </cxf:outInterceptors>
    <cxf:inFaultInterceptors>
        <ref bean="logOutbound"/>
    </cxf:inFaultInterceptors>
</cxf:bus> 

这里,logInboundlogOutboundlogOutbound bean是CXF拦截器接口的任何实现。您可以实现自己的拦截器bean来执行您选择的任何类型的日志记录,包括数据库日志记录。