19.6. 记录消息内容
概述
您可以记录在服务和消费者之间发送的消息内容。例如,您可能要记录在服务和消费者之间发送的 SOAP 消息的内容。
配置消息内容日志
要记录在服务和消费者之间发送的信息,反之亦然,请完成以下步骤:
将日志记录功能添加到端点
添加日志记录功能,您的端点的配置功能,如 例 19.10 “在端点配置中添加日志” 所示。
例 19.10. 在端点配置中添加日志
<jaxws:endpoint ...> <jaxws:features> <bean class="org.apache.cxf.feature.LoggingFeature"/> </jaxws:features> </jaxws:endpoint>
例 19.10 “在端点配置中添加日志” 中显示的 XML 示例启用 SOAP 消息的日志记录。
在消费者中添加日志记录功能
添加日志记录功能,为您的客户端配置添加功能,如 例 19.11 “在客户端配置中添加日志” 所示。
例 19.11. 在客户端配置中添加日志
<jaxws:client ...> <jaxws:features> <bean class="org.apache.cxf.feature.LoggingFeature"/> </jaxws:features> </jaxws:client>
例 19.11 “在客户端配置中添加日志” 中显示的 XML 示例启用 SOAP 消息的日志记录。
将 logging 设置为 log INFO 级别信息
确保与您的服务关联的 logging.properties
文件配置为记录 INFO
级别的信息,如 例 19.12 “将日志级别设置为 INFO” 所示。
例 19.12. 将日志级别设置为 INFO
.level= INFO java.util.logging.ConsoleHandler.level = INFO
记录 SOAP 信息
要查看 SOAP 消息的日志,请修改位于 InstallDir/samples/wsdl_first
目录中的 wsdl_first 示例应用程序,如下所示:
将 例 19.13 “日志 SOAP 消息的端点配置” 中显示的
jaxws:features
元素添加到 wsdl_first 示例目录中的cxf.xml
配置文件:例 19.13. 日志 SOAP 消息的端点配置
<jaxws:endpoint name="{http://apache.org/hello_world_soap_http}SoapPort" createdFromAPI="true"> <jaxws:properties> <entry key="schema-validation-enabled" value="true" /> </jaxws:properties> <jaxws:features> <bean class="org.apache.cxf.feature.LoggingFeature"/> </jaxws:features> </jaxws:endpoint>
-
这个示例使用默认的
logging.properties
文件,该文件位于InstallDir/etc
目录中。制作此文件的副本,并将其命名为mylogging.properties
。 在
mylogging.properties
文件中,通过编辑.level
和java.util.logging.ConsoleHandler.level
配置属性将日志记录级别更改为INFO
:.level= INFO java.util.logging.ConsoleHandler.level = INFO
使用
cxf.xml
文件和mylogging.properties
文件中的新配置设置启动服务器,如下所示:平台 命令 + Windows
启动 java -Djava.util.logging.config.file=%CXF_HOME%\etc\mylogging.properties demo.hw.server.Server
+
UNIX
java -Djava.util.logging.config.file=$CXF_HOME/etc/mylogging.properties demo.hw.server.Server &
+
使用以下命令启动 hello world 客户端:
平台 命令 + Windows
java -Djava.util.logging.config.file=%CXF_HOME%\etc\mylogging.properties demo.hw.client.Client .\wsdl\hello_world.wsdl
+
UNIX
java -Djava.util.logging.config.file=$CXF_HOME/etc/mylogging.properties demo.hw.client.Client ./wsdl/hello_world.wsdl
+
SOAP 信息被记录到控制台。