Я хотел бы реализовать архитектуру, согласно которой пользователь определяет app4 log4j через свойства log4j как обычно, но этот appender является просто буфером и делегирует сообщения журнала одному из нескольких содержащихся в нем appender.
Я не хочу определять эти приложения в файле log4j peroprties, я хочу, чтобы они были скрыты, чтобы ни один пользователь не мог изменить свою конфигурацию.Существует ли механизм, с помощью которого я могу создавать новые приложения log4j, сохранять их как элементы данных другого приложения, которое расширяет org.apache.log4j.AppenderSkeleton и публикуется и привязывается к моему регистратору, а затем вызывать эти приложения из скелета?
что-то вроде:
public class MemAppender extends AppenderSkeleton
private Appender delegateAppender = new RollingFileAppender();
...//set all the proprerties of the rolling file appender ...
public void append(LoggingEvent event){
//do my business logic and then:
delegateAppender.append(event);
}
Как реализовать такой механизм?