ユーザーが通常どおりlog4jプロパティを介してlog4jアペンダーを定義するアーキテクチャを実装したいのですが、このアペンダーは単なるバッファーであり、保持しているいくつかのアペンダーの1つにログメッセージを委任します。
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);
}
そのようなメカニズムを実装する方法は何ですか?