anchor.diff:  	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
   ----
   
  -When message history is enabled then the full history is logged as shown above. Here we can see the full path
  +When Message History is enabled then the full history is logged as shown above. Here we can see the full path
   the message has been routed, where it started from route1, called route2 and returned to route1 again, and so on.
   
  -When message history is disabled (by default) then the error handler logs a brief history with the last node
  +When Message History is disabled (by default) then the error handler logs a brief history with the last node
   where the exception occurred as shown below:
   
   [source,text]
  
positive.code: </camelContext>
  ----
  
  You can also do this per route. Then a route level configuration overrides the CamelContext level configuration.
  
  == Route stack-trace in exceptions logged by error handler
  
  If Message History is enabled, then Camel will leverage this information,
  when the Error Handler logs exhausted exceptions. Then in addition to the caused exception with its stacktrace,
  you can see the message history; you may think this as a "route stacktrace".
  
  And example is provided below:
  
  
negative.code: 	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
  ----
  
  Here you can see the Message History only outputs the input (route1) and the last step
  where the exception occurred (process1).
  
  === Configuring route stack-trace from error handler
  
  You can turn off logging Message History with `logExhaustedMessageHistory`
  from the xref:latest@manual:ROOT:error-handler.adoc[Error Handler] using:
  
  [source,java]
  ----
  errorHandler(defaultErrorHandler().logExhaustedMessageHistory(false));
  ----
  
  The xref:latest@manual:ROOT:error-handler.adoc[Error Handler] does not log the
  message body/header details (to avoid logging sensitive message body details).
  You can enable this with `logExhaustedMessageBody` on the error handler as shown:
  
  [source,java]
  ----
  errorHandler(defaultErrorHandler().logExhaustedMessageBody(true));
  ----
  
  In XML configuring this is a bit different, as you configure this in the `redeliveryPolicy`
  of the `<errorHandler>` as shown:
  
  [source,xml]
  ----
  <camelContext messageHistory="true" errorHandlerRef="myErrorHandler" xmlns="http://camel.apache.org/schema/spring">
  
      <errorHandler id="myErrorHandler">
        <redeliveryPolicy logExhaustedMessageHistory="false" logExhaustedMessageBody="true"/>
      </errorHandler>
  
      <route>
        <from uri="jms:cheese"/>
        <to uri="bean:validate"/>
        <to uri="bean:transform"/>
        <to uri="jms:wine"/>
      </route>
  </camelContext>
  ----
  
  == MessageHistory API
  
  When message history is enabled during routing Camel captures how the `Exchange` is routed,
  as an `org.apache.camel.MessageHistory` entity that is stored on the `Exchange`.
  
  On the `org.apache.camel.MessageHistory` there is information about the
  route id, processor id, timestamp, and elapsed time it took to process the `Exchange` by the processor.
  
  You can access the message history from Java code:
  
  