我需要获得一个唯一的 ID 来通过日志跟踪消息。我正在使用 WSO2 ESB 4.8.1。我找到了一篇与 WSO2 ESB 5.0.0 相关的文章。http://nuwanzone.blogspot.it/2016/12/wso2-esb-tracing-messages-through-logs.html。它描述了如何使用 MessageContext 对象为每条消息设置一个唯一 ID,以便我可以从消息流中的任何位置访问它。是否也可以在 WSO2 ESB 4.8.1 中实现类似的解决方案?(移植)WSO2 ESB 4.8.1 中的解决方案?你知道不同的解决方案吗?
问问题
320 次
1 回答
1
您可以在启动时将 MessageID 保存在属性中,并将其添加到您的日志中介。例子:
<property description="SetMessageUUID" expression="fn:substring-after(get-property('MessageID'), 'urn:uuid:')" name="MessageUUID" scope="default" type ="STRING"/>
<log>
<property name="Step" expression="Request service A"/>
<property name="ID" expression="get-property('MessageUUID')"/>
</log>
<call>
.....
</call>
<log>
<property name="Step" expression="Response service A"/>
<property name="ID" expression="get-property('MessageUUID')"/>
</log>
于 2017-04-13T10:41:06.537 回答