Как расширить log4j2 для шифрования параметров сообщения - PullRequest
0 голосов
/ 01 ноября 2019

Я хочу расширить log4j2 с помощью плагина (или других средств, если это необходимо), чтобы зашифровать определенные параметры сообщения.

Я просматривал документы log4j2 в Apache, но должен признать, что явсе еще смущен даже тем, что вид плагина для записи, чтобы сделать это.

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

Например, разработчик приложения регистрирует что-то вроде этого:

LOGGER.info("Account {} has a balance of {} Euros", acctNo, balance);

Затем acctNo и баланс должны быть переданы вмой плагин и я бы зашифровал номер счета и замаскировал баланс. Это должно происходить независимо от того, идет ли журнал в файл или на консоль или что-то еще, т. Е. Независимо от используемого (ых) приложения (ов).

Пожалуйста, укажите мне правильное направление ... Должен ли я написать свой собственный макет дляэто? Я бы предпочел продолжать использовать макеты log4j, такие как макет шаблона. Я действительно только хочу изменить значения параметров.

1 Ответ

0 голосов
/ 02 ноября 2019

Правильный ответ здесь - «напишите свою собственную MessageFactory», которая не является строго плагином. Подробности о том, как использовать свою собственную MessageFactory, можно найти в документации log4j2 в главе «Расширение log4j2».

Я просто не нашел это очевидным из документации, и мне пришлось просмотреть источники Log4j2, чтобы найтиответ.

...