如何使用Tracer记录骆驼中的流体?

时间:2013-02-01 11:20:52

标签: java apache-camel

我知道如何使用Log组件让Apache Camel(2.10.3)记录流的主体(soap消息)。但是,我想使用Tracer而不是Log。

docs说要启用LOG_DEBUG_BODY_STREAMS属性,我这样做但是这似乎没有什么区别:

    <bean id="camelTracer" class="org.apache.camel.processor.interceptor.Tracer">
    <property name="traceOutExchanges" value="true"/>
    <property name="traceExceptions" value="true"/>
    <property name="logStackTrace" value="true"/>
    <property name="traceInterceptors" value="true"/>
    <property name="logLevel" value="TRACE"/>
    <property name="logName" value="xxx.cameltracer"/>
</bean>     

<bean id="traceFormatter" class="org.apache.camel.processor.interceptor.DefaultTraceFormatter">
    <property name="showBody" value="true"/>
    <property name="showOutBody" value="true"/>
    <property name="showBodyType" value="false"/>
    <property name="showBreadCrumb" value="true"/>
    <property name="showHeaders" value="false"/>
</bean> 

<camelContext id="camelContext" xmlns="http://camel.apache.org/schema/spring" streamCache="true" trace="true">
    <properties>
       <property key="CamelLogDebugBodyStreams" value="true"/>
    </properties>
    ...

我还需要配置其他什么吗?

1 个答案:

答案 0 :(得分:3)

你的财产中有一个类型o,它应该是:

<camelContext id="camelContext" xmlns="http://camel.apache.org/schema/spring" streamCache="true" trace="true">
    <properties>
       <property key="CamelLogDebugStreams" value="true"/>
    </properties>