如何使用Mule 4拦截所有流

如何使用Mule 4拦截所有流,mule,mule-esb,Mule,Mule Esb,是否可以使用Mule 4拦截所有流量?看起来MuleSoft已经从Mule 4中删除了自定义拦截器、AbstractEnvelopeInterceptor等 我想添加一些审计记录器,如“进入XYZ流”和“退出XYZ流”。我没有在每个流中添加这些记录器,而是在想是否可以使用一些通用代码来完成这项工作。在Mule 4中,要记录变量,可以采用以下方法: <logger level="INFO" doc:name="My Var" message="#[vars.myVar]" category=

是否可以使用Mule 4拦截所有流量?看起来MuleSoft已经从Mule 4中删除了自定义拦截器、AbstractEnvelopeInterceptor等


我想添加一些审计记录器,如
“进入XYZ流”
“退出XYZ流”
。我没有在每个流中添加这些记录器,而是在想是否可以使用一些通用代码来完成这项工作。

在Mule 4中,要记录变量,可以采用以下方法:

<logger level="INFO" doc:name="My Var" message="#[vars.myVar]" category="values"/>
注意以下几点: write函数打印变量myVar及其元数据(编码、mime类型、ray vaule、Java类)


#[]中的表达式是字符串。当我们要计算字符串中的表达式时,我们使用$()。例如,此字符串:“$(1+1)”的计算结果为“2”

在Mule 4中不推荐使用拦截器。有关详细信息,请参阅上的文档。您可以使用自定义策略。

Sanjeet-您提供的信息只是另一个日志记录程序。我想看看是否有可能截获所有流以在Mule 4中记录审计信息。联系MuleSoft支持部门以获取更多信息。MuleSoft公司确认,拦截器的替代品处于开发阶段。因此,截至2018年5月7日,我们在Mule 4中没有可用的拦截器,但很快就会可用。这是不正确的。有关详细信息,请参阅我的答案。是的,MuleSoft支持部门也提供了此链接,但不幸的是,自定义策略在我的场景中没有用处。
<logger level="INFO" doc:name="My Var" message="#[' myVar = $(write(vars.myVar))']" category="values"/>
org.mule.runtime.core.internal.processor.LoggerMessageProcessor: myVar = "the value" as String {class: "java.lang.String";, encoding: "UTF-8", mimeType: "application/java", raw: "the value" as String {class: "java.lang.String";}}