2013-02-01 50 views
2

我知道如何讓Apache Camel(2.10.3)使用Log組件記錄流的正文(soap消息)。但是,我想使用Tracer而不是Log。如何使用Tracer在駱駝中記錄流的正文?

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

別的我需要配置?

回答

2

您的財產O型,它應該是:

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

衛生署,必須從錯誤的源複製它。在這裏,有一些簡單的代表! –

+0

最簡單的錯誤有時是最難找到的錯誤。奇怪的是,常量與java常量的文本不同。從邏輯上講,應該像你輸入它一樣。 –

+0

「Doh,必須從錯誤的來源複製它」:這將是官方的[Camel文檔](http://camel.apache.org/how-do-i-enable-streams-when-debug-logging-信息功能於camel.html)!