我可以独立实现log4j appender吗?

时间:2011-03-03 08:46:40

标签: java log4j appender

我想实现用户通过log4j属性照常定义log4j appender的体系结构,但这个appender只是一个缓冲区,它将日志消息委托给它拥有的几个appender之一。
我不想在log4j peroprties文件中定义那些appender,我希望它们被隐藏,以便没有用户可以修改那里的配置。是否有机制我可以构造新的log4j appender,将它们保存为扩展org.apache.log4j.AppenderSkeleton的另一个appender的数据成员,并发布并绑定到我的记录器,然后从骨架调用这些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); 
}

实施此类机制的方法是什么?

1 个答案:

答案 0 :(得分:0)

显然,构造log4j appender没有特殊问题,例如'RollingFileAppender'并从另一个appender调用它。 我只需要设置所有必需的属性,如MaxFileSize,File,maxBackupIndex等。