Решение проблемы конфигурации Log4j2: сбой маскировки данных на сервере приложений, несмотря на добавление @ConverterKeyJAVA

Программисты JAVA общаются здесь
Anonymous
Решение проблемы конфигурации Log4j2: сбой маскировки данных на сервере приложений, несмотря на добавление @ConverterKey

Сообщение Anonymous »

Мне нужно срочно решить проблему с настройкой журналирования нашего приложения. Мы пытаемся реализовать маскирование данных с помощью специального преобразователя шаблонов %mask Log4j2 в файле log4j2.xml. Однако мы столкнулись с проблемой, когда маскирование не применяется при развертывании приложения на рабочем сервере. Если мы удалим %mask из log4j2.xml, развертывание пройдет успешно, но маскирование не будет применено.
Чтобы обеспечить некоторый контекст, мы добавили @ConverterKeys({"mask"} ) аннотация к конвертеру пользовательских шаблонов %mask, как рекомендовано в документации Log4j2. Эта настройка прекрасно работает в нашей локальной среде разработки, но когда мы развертываем приложение на рабочем сервере, функция маскировки данных не работает должным образом.
Мы тщательно рассмотрели реализацию преобразователь пользовательских шаблонов %mask и убедился, что он правильно реализован и совместим с используемой версией Log4j2. Кроме того, мы проверили наличие конфликтов зависимостей и убедились, что все необходимые зависимости включены в путь к классам приложения во время развертывания.
Класс Java:
@Plugin(name = "MaskedPatternConverter", category = "Converter")
@ConverterKeys({"mask","masked"})
public class MaskedPatternConverter extends LogEventPatternConverter {
public void format(LogEvent event, StringBuilder outputmsg) {
String message = event.getMessage().getFormattedMessage();
// Implement your masking logic here
String maskedMessage = maskSensitiveData(message);

if (message.toLowerCase().contains("email") ||
message.toLowerCase().contains("adharcard") ||
message.toLowerCase().contains("creditcard")) {
String mask = maskEmailandAdhar(message);
outputmsg.append(mask);
} else {
outputmsg.append(maskedMessage);
}
}
}

log4j2.xml:





%d %p %-40c{1.} [$${ctx:reqRef}] [$${ctx:UserId}] %mask{email}{pass}{aadhaar}%n









Подробнее здесь: https://stackoverflow.com/questions/785 ... tion-serve

Вернуться в «JAVA»