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 全局客户端:
平台 命令 + 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 消息记录到控制台。