【问题标题】:Can I instansiate log4j appender independently我可以独立实例化 log4j appender
【发布时间】:2011-07-07 21:32:50
【问题描述】:

我想实现用户像往常一样通过 log4j 属性定义 log4j appender 的架构,但是这个 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); 
}

这种机制的实现方式是什么?

【问题讨论】:

    标签: java log4j appender


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-22
      • 2012-04-22
      • 1970-01-01
      • 2014-07-31
      • 1970-01-01
      • 1970-01-01
      • 2018-06-25
      • 1970-01-01
      相关资源
      最近更新 更多