2009-03-26 10 views
1

RollingFileAppenderを拡張して、メッセージがログシステムに入らなくなっても回転するようにしようとしています。通常、メッセージが到着したときにrollOverメソッドが呼び出され、回転をトリガするための時間チェックが行われます。jog4jを拡張する際に問題が発生しましたRollingFileAppender rollOver()アクセスレベル

私のバージョンのRollingFileAppenderは、メッセージが到着しなくても回転が保証されるように、毎秒rollOverを呼び出します。

私の問題は、RollingFileAppenderのrollOverには、変更レベルのないアクセスレベル修飾子があることです。したがって、私は望むようにx秒ごとにそれを呼び出すことはできません。

/** 
    Rollover the current file to a new file. 
    */ 
    void rollOver() throws IOException { 

は、今では何の修飾子を必要とせず、私は私のパッケージやコールロールオーバーにクラスを持参することを決めた理由を私は理解できないコードを見ています。

これは、私がrollOverを呼び出す場合は他の選択肢がありますか?

+0

どのバージョンのlog4jを使用しますか?私は1.2.14を使用していて、最新の1.2.15でも公開しています。 –

+0

1.2.15上記のコードをソースコードの外に貼り付けた –

答えて

1

もちろん、リフレクションを使用して行うことができます。トランクからまたはタグ1.2.15から抽出

ソースコード:log4jの-1.2.15:svn at apache

public // synchronization not necessary since doAppend is alreasy synched 
void rollOver() { 
    File target; 
    ... 

は、私たちは同じことについて話すのですか?

+0

ありがとうMatthieu私は一見します –

関連する問題