Spring integration 为Spring中的日志记录向有线抽头通道添加附加信息
我使用Wire-Tap来处理日志记录,不允许使用日志通道适配器log4j 我需要向有效负载添加额外的信息,这些信息被发送到具有处理日志的接口的网关Spring integration 为Spring中的日志记录向有线抽头通道添加附加信息,spring-integration,Spring Integration,我使用Wire-Tap来处理日志记录,不允许使用日志通道适配器log4j 我需要向有效负载添加额外的信息,这些信息被发送到具有处理日志的接口的网关 有没有一种在流中间指定页眉的方法?< /P> 澄清代码: 电线抽头部分 <int:channel id="IN_messageRouterFactory"> <int:interceptors> <int:wire-tap channel="IN_log_gateway" /> &l
有没有一种在流中间指定页眉的方法?< /P> 澄清代码:
电线抽头部分<int:channel id="IN_messageRouterFactory">
<int:interceptors>
<int:wire-tap channel="IN_log_gateway" />
</int:interceptors>
</int:channel>
日志网关:
<int:gateway service-interface="foo.bar.loginterface">
<int:method name="log" request-channel="IN_log_gateway" />
</int:gateway>
日志记录服务:
<int:chain input-channel="IN_log_gateway">
<!-- transformations here... -->
<int:service-activator ref="fileLoggerService"/>
</int:chain>
我想添加一些信息,以便我可以从较大的高度记录特定的托管有效负载信息,但不清楚您要求的是什么。但无论如何,任何POJO服务都可以接受消息作为参数。因此,您可以使用任何信息负载和头来执行任何逻辑 从这里我看不出有什么理由,因为WireTap是一个单向组件,所以您的自定义记录器不应该返回任何结果 更新 谢谢你的解释 看起来使用一些消息enrichement(如您所说的header enricher)更好,因为您确实有一个消息范围逻辑 当然,您可以通过wire tap克服这一问题,但您必须有一个聚合器来关联和分组请求及其回复。再说一次:没有页眉润色器,你无法做到这一点
顺便说一句,您甚至可以将请求消息存储在标题中,并在最后一个标题中使用它来获得正确的业务逻辑。您好,感谢您的回答,如果我的问题有点混乱,请原谅。我将尝试一个例子:我想记录一个具有转换器和服务激活器+错误检查路由器的链的开始和结束。该链具有逻辑意义:假设该链的目的是向web服务请求一个数字。因此,我正在寻找的是一种方法,通过线连接点击链的输入和输出通道,在不指定任何其他组件(如标题)的情况下添加链+链结果失败或成功的逻辑目的。根据您的评论,在答案中添加了更多信息我正在与同事讨论这一点,同时:谢谢!:他们说我还有其他任务要解决,所以他们接管了我的这项功能,告诉我他们用SpringAOP解决了问题,记录了包装功能的函数,我希望我做对了。。。我对AOP还是新手。。。谢谢如果你达到了预期的效果,那也很好。不管怎样,如果我的答案是相关的,让我们接受它来完成讨论。