0
我想实现架构,用户像平常一样通过log4j属性定义log4j appender,但该appender只是一个缓冲区,它将日志消息委托给它拥有的几个appender之一。
我不想在log4j peroprties文件中定义这些appender,我希望它们被隐藏,以便没有用户可以修改那里的配置。有没有机制是我可以构建新的log4j appenders,将它们另存为另一个appender的数据成员,这些appender扩展了org.apache.log4j.AppenderSkeleton并发布并绑定到我的记录器,然后从骨架中调用这些appender?
类似:我可以独立实现log4j appender
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);
}
什么是实现这种机制的方式吗?