【发布时间】:2020-09-02 09:13:36
【问题描述】:
我的流程从轮询入站适配器开始,该适配器通过异步执行器和服务激活器(使用 2 个网关的协调器)将处理移交给发布/订阅通道上的下游组件
问题
1. 我想为每次轮询的执行记录一个关联 ID,以便我可以使用此关联 ID 独立于同一流的另一次执行跟踪该流执行的日志,例如类似于具有 UUID 的 MDC。如何将这个传递给所有参与处理的线程,并在日志语句中输出correlationId?
2. 我也在尝试找出最好的日志记录方法。目前,我在所有通道上都有一个日志线接(由日志适配器消耗)。对于这个,我希望只有在记录模式为 DEBUG 时才能启用wireTap拦截 例如,
<int:logging-channel-adapter log-full-message="true"
logger-name="tapInbound"
level="DEBUG"
id="loggingChannel"/>
这只会在应用程序记录器是 DEBUG 时记录,但窃听拦截总是会发生。如何仅在日志级别为DEBUG时启用wireTap拦截?可能通过使用selector-expression 和isloggingLevelDebug() 之类的值。我该怎么做?
【问题讨论】: