【发布时间】:2016-04-21 15:06:01
【问题描述】:
我正在为多个 Spring 集成部署添加日志记录/监控功能。我想在工作流开始时创建一个记录器事务,并在工作流结束时关闭日志事务。在记录器事务结束时,我会将日志和指标发送到集中式记录服务器。归根结底,我想查看通过多个 Spring 集成部署的工作流的所有消息的日志。
spring 集成部署涉及很多团队,我不能指望每个团队都为我添加日志记录代码,所以我想编写跨 spring 集成部署运行的代码。
要启动日志事务,解决方案是在一组入站消息传递通道上使用全局通道拦截器。跨部署构建的所有工作流都使用同一组入站通道,因此启动日志事务拦截器将运行。 我还将记录器事务详细信息作为消息标头的一部分传递
但我无法找到结束交易的解决方案。工作流可以是同步的也可以是异步的。此外,并非工作流中的所有端点都有输出通道。
关于如何关闭记录器事务的任何策略/想法?
示例工作流示例如下图所示:
【问题讨论】:
标签: spring logging spring-integration