Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以独立实例化log4j appender吗_Java_Log4j_Appender - Fatal编程技术网

Java 我可以独立实例化log4j 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属性定义log4j appender,但这个appender只是一个缓冲区,它将日志消息委托给它所持有的几个appender中的一个
我不想在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等