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 信息。
将日志记录设置为日志 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 “Logging SOAP 消息的端点配置” 中显示的
jaxws:features
元素添加到位于 wsdl_first 示例目录中的cxf.xml
配置文件:例 19.13. Logging 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 消息记录到控制台。