Nicolas Mommaerts
Nicolas Mommaerts

Reputation: 3263

how to log the body of a stream in camel using a Tracer?

I know how to get Apache Camel (2.10.3) to log the body of a stream (soap message) using the Log component. However, I want to use the Tracer instead of Log.

The docs say to enable the LOG_DEBUG_BODY_STREAMS property, I did that but that doesn't seem to make a difference:

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

Anything else I need to configure?

Upvotes: 3

Views: 1981

Answers (1)

Petter Nordlander
Petter Nordlander

Reputation: 22279

You have a type-o in your property, it should be:

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

Upvotes: 3

Related Questions