19.6. 메시지 콘텐츠 로깅

19.6.1. 개요

서비스와 소비자 간에 전송되는 메시지의 콘텐츠를 기록할 수 있습니다. 예를 들어 서비스와 소비자 간에 전송되는 SOAP 메시지의 콘텐츠를 로깅할 수 있습니다.For example, you might want to log the contents of SOAP messages that are being sent between a service and a consumer.

19.6.2. 메시지 콘텐츠 로깅 구성

서비스와 소비자 간에 전송되는 메시지를 로깅하고 그 반대의 경우도 마찬가지이면 다음 단계를 완료합니다.

19.6.3. 끝점에 로깅 기능 추가

예 19.10. “끝점 구성에 로깅 추가” 에 표시된 대로 엔드 포인트의 구성에 로깅 기능을 추가합니다.

예 19.10. 끝점 구성에 로깅 추가

<jaxws:endpoint ...>
  <jaxws:features>
    <bean class="org.apache.cxf.feature.LoggingFeature"/>
  </jaxws:features>
</jaxws:endpoint>

예 19.10. “끝점 구성에 로깅 추가” 에 표시된 XML 예제를 사용하면 SOAP 메시지 로깅을 사용할 수 있습니다.

19.6.4. 소비자에게 로깅 기능 추가

클라이언트 구성이 예 19.11. “클라이언트 구성에 로깅 추가” 와 같이 로깅 기능을 추가합니다.

예 19.11. 클라이언트 구성에 로깅 추가

<jaxws:client ...>
   <jaxws:features>
      <bean class="org.apache.cxf.feature.LoggingFeature"/>
    </jaxws:features>
</jaxws:client>

예 19.11. “클라이언트 구성에 로깅 추가” 에 표시된 XML 예제를 사용하면 SOAP 메시지 로깅을 사용할 수 있습니다.

19.6.5. 로깅을 log INFO 수준 메시지로 설정

서비스와 관련된 logging.properties 파일이 예 19.12. “로깅 수준을 INFO로 설정” 와 같이 INFO 수준 메시지를 기록하도록 구성되어 있는지 확인합니다.

예 19.12. 로깅 수준을 INFO로 설정

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

19.6.6. 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

    Java -Djava.util.config.file=%CXF_HOME%\etc\mylogging.properties demo.hw.server.Server를 시작합니다.

    +

    UNIX

    Java -Djava.util.config.file=$CXF_HOME/etc/mylogging.properties demo.hw.server.Server &

    +

  5. 다음 명령을 사용하여 hello world 클라이언트를 시작합니다.

    플랫폼명령 +

    Windows

    Java -Djava.util.config.file=%CXF_HOME%\etc\mylogging.properties demo.hw.client.Client .\wsdl\hello_world.wsdl

    +

    UNIX

    Java -Djava.util.config.file=$CXF_HOME/etc/mylogging.properties demo.hw.client.Client ./wsdl/hello_world.wsdl

    +

SOAP 메시지는 콘솔에 기록됩니다.