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