5.7. 消息历史
概述
Message History 模式允许您在松散耦合系统中分析和调试消息流。如果您在消息中附加了消息历史记录,则会显示一条从其原始消息传递的所有应用程序的列表。
在 Apache Camel 中,使用 getTracedRouteNodes
方法,您可以使用 Tracer 跟踪消息流或使用 UnitOfWork 中的 Java API 访问信息。
限制日志中的字符长度
当您使用日志记录机制运行 Apache Camel 时,它可让您及时记录消息及其内容。
有些消息可能包含非常大的有效负载。默认情况下,Apache Camel 将关闭日志消息,并只显示前 1000 个字符。例如,它以以下方式显示以下日志:
[DEBUG ProducerCache - >>>> Endpoint[direct:start] Exchange[Message: 01234567890123456789... [Body clipped after 20 characters, total length is 1000]
当 Apache Camel clips log 中的正文时,您可以自定义限制。您还可以设置零或负值,如 -1,表示消息正文没有被记录。
- 使用 Java DSL 自定义限制
您可以使用 Java DSL 在 Camel 属性中设置限制。例如,
context.getProperties().put(Exchange.LOG_DEBUG_BODY_MAX_CHARS, "500");
- 使用 Spring DSL 自定义限制
您可以使用 Spring DSL 在 Camel 属性中设置限制。例如,
<camelContext> <properties> <property key="CamelLogDebugBodyMaxChars" value="500"/> </properties> </camelContext>