I'm trying to log exchange body as a string using log4j.
<convertBodyTo id="_convertBodyTo1" type="java.lang.String"/>
<to id="_to1" uri="log:com.javarticles?level=INFO"/>
but it's not logging as string
15:09:05,403 | INFO | qtp938841692-57 | javarticles |
198 - org.apache.camel.camel-core - 2.15.1.redhat-620133 |
Exchange[ExchangePattern: InOut, BodyType: java.lang.String, Body:
org.apache.cxf.jaxrs.impl.HttpHeadersImpl@52767902]
Do we have to make extra logic to log exchange body? And how do we log http headers?
Logging message body with streaming The log DSL have overloaded methods to set the logging level and/or name as well. from("direct:start") . log(LoggingLevel. DEBUG, "com.
Apache Camel is using log4j for testing itself Apache Camel does use log4j during testing itself, and therefore you can find that we have been using log4j v2.
Exchange is the container of a message and it is created when a message is received by a consumer during the routing process. Exchange allows different types of interaction between systems – it can define a one-way message or a request-response message.
If you only want to log the message body, then use
<log message="${body}"/>
The log endpoint logs a bunch of details by default, you can turn these on|off using the options listed: http://camel.apache.org/log
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With