Mule 定制骡子记录器

Mule 定制骡子记录器,mule,esb,Mule,Esb,在mule中,当请求到来时,mule会自动记录包含信用卡信息的完整请求,我们不想在有效负载中记录该字段。我们可以自定义负载以隐藏日志中的某些字段或屏蔽某些字段。如果您正在记录所有mule类别,那么org.mule.DefaultMuleMessage也将被记录(并且它包含负载)。在日志记录配置中: <!-- this will log all mule log messages --> <logger name="org.mule" level="DEBUG" />

在mule中,当请求到来时,mule会自动记录包含信用卡信息的完整请求,我们不想在有效负载中记录该字段。我们可以自定义负载以隐藏日志中的某些字段或屏蔽某些字段。

如果您正在记录所有mule类别,那么org.mule.DefaultMuleMessage也将被记录(并且它包含负载)。在日志记录配置中:

<!-- this will log all mule log messages -->   
<logger name="org.mule" level="DEBUG" />

如果您想隐藏它,可以降低父mule类别级别,并显式记录您感兴趣的类别。例如:

<!-- this will log all mule log messages -->   
<logger name="org.mule" level="WARN" />
<logger name="org.mule.endpoint" level="INFO" />
<logger name="org.mule.transformer" level="INFO" />
<logger name="org.mule.session" level="DEBUG" />

在使用logger之前,您可以在有效负载上应用正则表达式。下面是代码示例

cardRegex="(\\\\b(?!59\\\\d{14})\\\\d{13,50}\\\\b)"
maskedCardString="XXXX ... XXX"
上述值位于.properties文件中。下面的statement将正则表达式匹配项替换为XXXX。。。XXX

#[payload.replaceAll(${cardRegex},${maskedCardString})]

Log4j2有两种方法可以在数据写入日志时替换数据

在新的test Mule应用程序中,打开log4j2.xml配置并更改PatternLayout模式属性,如下所示:

因此,写入日志的任何消息(%m)都可以对信息进行编辑


…worker.01]INFO org.mule.api.processor.LoggerMessageProcessor-bar

您试图实现的目标是什么?mule不会自动记录消息的有效负载。你能粘贴流的XML以了解问题所在吗?@VíctorRomero是的,我知道,我添加了logger,我们希望在应用程序中登录,但当logger记录有效负载时,我们希望自定义敏感信息,如掩码信用卡号。这取决于你拥有的有效负载类型。如果是XML,即:利用和。