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 在日志中清除正文时,您可以自定义限制。您还可以设置零或负值,如 -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>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.