gpt4 book ai didi

logging - 在 Apache Camel 中记录过滤消息体的最佳方法

转载 作者:行者123 更新时间:2023-12-02 01:54:26 28 4
gpt4 key购买 nike

我们的消息正文 (XML) 包含我们不想记录的敏感信息。记录过滤后的消息正文的最佳方法是什么?我正在使用 Java DSL 定义我的路由,并希望使用日志 DSL。

非常感谢优素福

最佳答案

如果您想坚持使用 CamelLogProcessor(因为此处理器是在日志 DSL 的幕后调用的),那么可以编写自己的自定义 ExchangeFormatter 并将其注入(inject)记录器。 Documentation可能有用。

虽然提到的处理器没有做任何特别的事情(但通常是完全足够的):

public boolean process(Exchange exchange, AsyncCallback callback) {
if (log.shouldLog()) {
log.log(formatter.format(exchange));
}
callback.done(true);
return true;
}

在这种情况下,编写自己的处理器并路由到它而不是日志模式可能是个好主意(如果你必须使用漂亮的 DSL,然后编写自己的组件,但我认为这不是你真正想要的) .如果您已决定路由到您自己的 Processor 实现,那么您可以按照您喜欢的任何方式记录您想要记录的任何内容(例如,忽略敏感信息)。

Camel 用于日志记录的通用处理器是通用的 :),因此项目特定实现在这两种情况下对我来说都非常有效:敏感信息或限制日志记录时间。

关于logging - 在 Apache Camel 中记录过滤消息体的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20991782/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com