LibraryLink ToToggle FramesPrintFeedback

Chapter 34. Log

The log: component logs message exchanges to the underlying logging mechanism.

log:loggingCategory[?level=loggingLevel][options]

Where loggingCategory is the name of the logging category to use and loggingLevel is the logging level such as DEBUG, INFO, WARN, ERROR - the default is INFO

By default FUSE Mediation Router uses a regular logging that logs every exchange. However FUSE Mediation Router also ships with a Throughput logger that is used if the groupSize option is specified.

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.

The log formats the execution of exchanges to log lines. The log uses by default LogFormatter to format the log output.

LogFormatter has the following options:

Option Default Description
showExchangeId false To output the unique exchange id.
showProperties false Output the exchange properties
showHeaders false Output the in message headers
showBodyType true Output the in body Java type
showBody true Output the in body
showOut false If the exchange has an out message then its also shown
showAll false quick option for turning all options on
multiline false if enabled then each information is logged on a new line
maxChars FUSE Mediation Router 2.0: Is used to limit the number of chars logged per line.

In the route below we logs the incoming orders at DEBUG level before the order is processed.

from("activemq:orders").to("log:com.mycompany.order?level=DEBUG").to("bean:processOrder");

And using Spring DSL as the route:

  <route>
    <from uri="activemq:orders"/>
    <to uri="log:com.mycompany.order?level=DEBUG"/>
    <to uri="bean:processOrder"/>
  </route> 

In the route below we logs 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");

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");