Menu Close

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 レベルのメッセージをログに記録するロギングの設定

例19.12「ログレベルの INFO への設定」に示すように、サービスに関連付けられた logging.properties ファイルを設定して、INFO レベルのメッセージをログに記録するようにします。

例19.12 ログレベルの INFO への設定

.level= INFO
java.util.logging.ConsoleHandler.level = INFO

SOAP メッセージのロギング

SOAP メッセージのロギングを表示するには、InstallDir/samples/wsdl_first ディレクトリにある wsdl_first サンプルアプリケーションを以下のように変更します。

  1. 例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>
  2. サンプルでは、InstallDir/etc ディレクトリーにあるデフォルトの logging.properties ファイルが使用されます。このファイルのコピーを作成し、mylogging.properties という名前を付けます。
  3. mylogging.properties ファイルで以下のように .level および java.util.logging.ConsoleHandler.level 設定プロパティーを編集して、ログレベルを INFO に変更します。

    .level= INFO
    java.util.logging.ConsoleHandler.level = INFO
  4. 以下のように、cxf.xml ファイルと mylogging.properties ファイル両方の新しい構成設定を使用してサーバーを起動します。

    プラットフォームコマンド

    Windows

    start 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 &

    +

  5. 以下のコマンドを使用して 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 メッセージがコンソールにログとして記録されます。