Log Component
The log: component logs message exchanges to the underlying logging mechanism.
Camel uses commons-logging which allows you to configure logging via
Refer to the commons-logging user guide for a more complete overview of how to use and configure commons-logging.
URI format
log:loggingCategory[?options]
Where loggingCategory is the name of the logging category to use. You can append query options to the URI in the following format, ?option=value&option=value&...
For example, a log endpoint typically specifies the logging level using the level option, as follows:
log:org.apache.camel.example?level=DEBUG
The default logger logs every exchange (regular logging). But Camel also ships with the Throughput logger, which is used whenever the groupSize option is specified.
![]() | Also a log in the DSL In Camel 2.2 onwards there is a log directly in the DSL, but it has a different purpose. Its meant for lightweight and human logs. See more details at LogEIP. |
Options
Option |
Default |
Type |
Description |
level |
INFO |
String |
Logging level to use. Possible values: FATAL, ERROR, WARN, INFO, DEBUG, TRACE, OFF |
groupSize |
null |
Integer |
An integer that specifies a group size for throughput logging. By default, regular logging is used. |
Formatting
The log formats the execution of exchanges to log lines.
By default, the log uses LogFormatter to format the log output, where LogFormatter has the following options:
Option |
Default |
Description |
showAll |
false |
Quick option for turning all options on. (multiline, maxChars has to be manually set if to be used) |
showExchangeId |
false |
Show the unique exchange ID. |
showExchangePattern |
true |
Camel 2.3: Shows the Message Exchange Pattern (or MEP for short). |
showProperties |
false |
Show the exchange properties. |
showHeaders |
false |
Show the In message headers. |
showBodyType |
true |
Show the In body Java type. |
showBody |
true |
Show the In body. |
showOut |
false |
If the exchange has an Out message, show the Out message. |
showException |
false |
Camel 2.0: If the exchange has an exception, show the exception message (no stack trace). |
showCaughtException |
false |
Camel 2.0: If the exchange has a caught exception, show the exception message (no stack trace). A caught exception is stored as a property on the exchange and for instance a doCatch can catch exceptions. See Try Catch Finally. |
showStackTrace |
false |
Camel 2.0: Show the stack trace, if an exchange has an exception. Only effective if one of showAll, showException or showCaughtException are enabled. |
showFuture |
false |
Camel 2.1: Whether Camel should show java.util.concurrent.Future bodies or not. If enabled Camel could potentially wait until the Future task is done. Will by default not wait. |
multiline |
false |
If true, each piece of information is logged on a new line. |
maxChars |
|
Camel 2.0: Limits the number of characters logged per line. |
Regular logger sample
In the route below we log the incoming orders at DEBUG level before the order is processed:
from("activemq:orders").to("log:com.mycompany.order?level=DEBUG").to("bean:processOrder");
Or using Spring XML to define the route:
<route>
<from uri="activemq:orders"/>
<to uri="log:com.mycompany.order?level=DEBUG"/>
<to uri="bean:processOrder"/>
</route>
Regular logger with formatter sample
In the route below we log the incoming orders at INFO level before the order is processed.
from("activemq:orders").
to("log:com.mycompany.order?showAll=true&multiline=true").to("bean:processOrder");
Throughput logger sample
In the route below we log the throughput of the incoming orders at DEBUG level grouped by 10 messages.
from("activemq:orders").
to("log:com.mycompany.order?level=DEBUG?groupSize=10").to("bean:processOrder");
See Also