Hi,
My gut feeling is that the input stream was consumed differently with
different log levels.
You may need add streamCaching="true" to your router DSL.
Freeman
On 2011-8-9, at 下午8:43, Mirko Caserta wrote:
Hi there,
I have a weird issue regarding the Tracer.
The problem my client is reporting is that switching the logger on
"org.apache.camel.processor.interceptor.Tracer" from INFO to WARN
breaks the application. I know it sounds weird but I've been able to
reproduce the issue in my environment.
I am using camel 2.7.2 but some preliminary tests with 2.8.0 show no
difference.
Also, I'm using slf4j-api and logback-classic for logging.
The problem manifests itself in a route where I'm getting an xml
response message from an http client component, then pass it to a
Smooks processor. When "org.apache.camel.processor.interceptor.Tracer"
is set to WARN, it looks like the message has disappeared between the
http client and the Smooks processor (which complains with a
"Premature EOF" exception).
I also see that, when the route is working, the message body is an
instance of
org
.apache.camel.converter.stream.CachedOutputStream.WrappedInputStream
right after the http client component, then suddenly becomes an
org.apache.camel.converter.stream.InputStreamCache.
The obvious workaround so far is to tell my client to set
org.apache.camel.processor.interceptor.Tracer on INFO, but they
complain that logs are too verbose and would prefer to set the tracer
to ERROR.
I can share my route config and/or code if you think it would help.
Thanks, Mirko.
---------------------------------------------
Freeman Fang
FuseSource
Email:[email protected]
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com