Java 我可以独立实例化log4j appender吗
我想实现这样一种体系结构:用户像往常一样通过log4j属性定义log4j appender,但这个appender只是一个缓冲区,它将日志消息委托给它所持有的几个appender中的一个Java 我可以独立实例化log4j appender吗,java,log4j,appender,Java,Log4j,Appender,我想实现这样一种体系结构:用户像往常一样通过log4j属性定义log4j appender,但这个appender只是一个缓冲区,它将日志消息委托给它所持有的几个appender中的一个 我不想在log4j peroprties文件中定义这些appender,我希望它们被隐藏,这样用户就不能修改它们的配置。是否有一种机制可以让我构造新的log4j appender,将它们保存为另一个appender的数据成员,该appender扩展org.apache.log4j.AppenderSkeleto
我不想在log4j peroprties文件中定义这些appender,我希望它们被隐藏,这样用户就不能修改它们的配置。是否有一种机制可以让我构造新的log4j appender,将它们保存为另一个appender的数据成员,该appender扩展org.apache.log4j.AppenderSkeleton并发布和绑定到我的记录器,然后从框架中调用这些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);
}
实现这种机制的方法是什么?显然,在构造log4j appender时没有特殊问题,例如“RollingFileAppender”并从另一个appender调用它。 我只需要设置所有必需的属性,如MaxFileSize、File、maxBackupIndex等