0

ユーザーが通常どおり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); 
}

そのようなメカニズムを実装する方法は何ですか?

4

1 に答える 1

0

どうやら、'RollingFileAppender' などの log4j アペンダーを構築し、別のアペンダーから呼び出すことに特別な問題はありません。MaxFileSize、File、maxBackupIndex などの必要な属性をすべて設定する必要がありました。

于 2011-03-10T14:52:01.467 に答える