LOG4J: Изменить зарегистрированное сообщение с помощью специального приложения

По соображениям безопасности мне нужно просматривать каждое зарегистрированное сообщение в моем приложении и, возможно, изменять его, прежде чем оно попадет в файл журнала. Я решил, что могу написать собственный appender (расширение DailyRollingFileAppender) и переопределить subAppend (событие LoggingEvent). Проблема в том, что в LoggingEvent нет установщика для текста сообщения, а сообщение является частным атрибутом. Я мог бы создать новый LoggingEvent с моим измененным сообщением, но API этого не делает. t упростить копирование остальной части исходного события LoggingEvent. Все это похоже на то, чтобы препятствовать вмешательству в сообщение в настраиваемом приложении.

Единственный другой вариант, который я вижу, - это изменить сотни операторов ведения журнала, чтобы вызвать новый глобальный метод, который может сначала изменить текст, а затем выполнить вызов Log4J. Я бы не стал!

У кого-нибудь еще была необходимость изменить зарегистрированное сообщение в пользовательском приложении?

15
задан user993719 13 October 2011 в 15:11
поделиться