在 CXF 中,您可以使用以下方法启用日志记录:
<cxf:bus>
<cxf:features>
<cxf:logging/>
</cxf:features>
</cxf:bus>
来源:http://cxf.apache.org/docs/configuration.html
一切似乎都进入文件或控制台,并且似乎也可以使用 Log4j 进行配置。
我的问题是,如何在服务器端启用日志记录,以便可以拦截这些原始请求和响应,并将它们与与服务调用相关的其他应用程序特定信息一起存储在数据库的表中。
这都是服务端服务实现类。
最佳答案
您引用的示例是执行基本日志记录的最简单的配置。如果您查看之前的示例,您可以看到一种稍微更扩展的记录拦截器的方法:
<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>
这里,logInbound
、logOutbound
和 logOutbound
bean 是 CXF 拦截器接口(interface)的任意实现。您可以实现自己的拦截器 bean 来执行您选择的任何类型的日志记录,包括数据库日志记录。
关于java - CXF 服务器端记录到表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3506308/