定制mule logger

时间:2013-03-06 12:29:57

标签: mule esb

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

3 个答案:

答案 0 :(得分:1)

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

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

如果你想隐藏它,你可以减少父母骡子类别水平并明确记录你感兴趣的那些。例如:

<!-- 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" />

答案 1 :(得分:0)

您可以在使用logger.below是代码示例

之前将正则表达式应用于您的有效负载
cardRegex="(\\\\b(?!59\\\\d{14})\\\\d{13,50}\\\\b)"
maskedCardString="XXXX ... XXX"

以上值位于.properties文件中。下面的staement将替换正则表达式匹配XXXX ... XXX

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

答案 2 :(得分:0)

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

在新测试中,Mule应用程序打开log4j2.xml配置并更改PatternLayout模式属性,如:

<PatternLayout pattern="%d [%t] %-5p %c - %replace{%m}{(^.*?)(foo)(.*?$)}{$1bar$3}%n" />

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

... orker.01] INFO org.mule.api.processor.LoggerMessageProcessor - bar