Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the early version of the new website
https://camel.apache.org/staging/
We would very much like to receive any feedback on the new site, please join the discussion on the Camel user mailing list.
MDC loggingAvailable as of Camel 2.7 From Camel 2.7: Camel uses the SLF4J logging framework. This allows Camel to support MDC logging. For more information about about MDC logging see the logback manual. The logging framework in use must support MDC. The following frameworks support MDC: See the logging framework's documentation for how to configure it to use MDC. Enabling MDC Logging in CamelTo enable MDC logging using Java: CamelContext context = ... context.setUseMDCLogging(true); ... To enable MDC logging using Spring XML set CamelContext's <camelContext xmlns="http://camel.apache.org/schema/spring" useMDCLogging="true"> ... </camelContext> MDC InformationCamel provides the following context information available for MDC: Before Camel 2.10:
From Camel 2.10:
The keys are subject to change as we want to align and leverage MDC across other Apache products such as ActiveMQ, ServiceMix and Karaf. Example Using LOG4JIf you use log4j you can configure MDC in the log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %-10.10X{camel.exchangeId} - %-10.10X{camel.routeId} - %m%n Camel will log on startup if MDC is enabled or not INFO SpringCamelContext - - - MDC logging is enabled on CamelContext: camel-1 The follow snippet is from an unit test which shows MDC in use. Note that the exchange id and route id are displayed in their separate columns in the log file: INFO SpringCamelContext - - - Apache Camel (CamelContext: camel-1) started in 1.228 seconds INFO foo - 358739-0-2 - route-a - Exchange[ExchangePattern:InOnly, BodyType:String, Body:Hello World] INFO bar - 358739-0-2 - route-b - Exchange[ExchangePattern:InOnly, BodyType:String, Body:Hello World] INFO MockEndpoint - - - Asserting: Endpoint[mock://result] is satisfied Enabling Breadcrumb SupportFrom Camel 2.8: As the breadcrumb id is stored in a header it will persist across any transport that supports the use of headers, for example the HTTP and JMS transports. Disabling Breadcrumb SupportJava DSL: CamelContext context = ... context.setUseBreadcrumb(false); ... XML DSL: <camelContext xmlns="http://camel.apache.org/schema/spring" useBreadcrumb="false"> ... </camelContext> |