настроить регистратор мулов

В муле, когда приходит запрос, мул автоматически регистрирует полный запрос, который содержит информацию о кредитной карте, и мы не хотим регистрировать это поле в полезной нагрузке. Можем ли мы настроить полезную нагрузку, чтобы скрыть некоторые поля или замаскировать некоторые поля в журнале.


person ajkush    schedule 06.03.2013    source источник
comment
Что вы пытались достичь своей цели?   -  person Rais Alam    schedule 06.03.2013
comment
Mule не регистрирует автоматически полезную нагрузку сообщения. Можете ли вы вставить XML своего потока, чтобы понять, в чем проблема?   -  person Víctor Romero    schedule 06.03.2013
comment
@VíctorRomero Да, я знаю, я добавил регистратор, мы хотим регистрироваться в нашем приложении, но когда регистратор регистрирует полезную нагрузку, мы хотим настроить конфиденциальную информацию, например, скрыть номер кредитной карты.   -  person ajkush    schedule 07.03.2013
comment
Это зависит от того, какая у вас полезная нагрузка. Если это XML, т.е. используйте это и это.   -  person Víctor Romero    schedule 08.03.2013


Ответы (3)


Если вы регистрируете все категории мулов, то 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" />
person Filipe Fedalto    schedule 06.03.2013

Вы можете применить регулярное выражение к своей полезной нагрузке до того, как logger. Ниже приведен пример кода.

cardRegex="(\\\\b(?!59\\\\d{14})\\\\d{13,50}\\\\b)"
maskedCardString="XXXX ... XXX"

Вышеуказанные значения находятся в файле .properties. Ниже описание заменяет совпадения регулярных выражений на XXXX ... XXX

#[payload.replaceAll(${cardRegex},${maskedCardString})]
person user3366906    schedule 22.03.2018

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 - бар

person Mesh    schedule 22.03.2018