通过WSO2 ESB 4.8.1中的日志跟踪消息

时间:2017-04-12 13:57:49

标签: wso2 wso2esb mdc

我需要获取一个唯一的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中的解决方案? 你知道不同的解决方案吗?

1 个答案:

答案 0 :(得分: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>