3

org.apache.log4jクラスAsyncAppenderでpublicvoidsetBufferSize(int size)

Sets the number of messages allowed in the event 
 buffer before the calling thread is blocked (if blocking is true) 
or until messages are summarized and discarded. Changing the size 
will not affect messages already in the buffer. 

10,000を構成しました。しかし、ファイルは10K後も大きくなり続けます!理由は何ですか?

4

1 に答える 1

3

ログに記録されると、メモリ内のイベントバッファに追加されます。次に、このイベントバッファ内のメッセージがディスクに書き込まれます。

ディスクに書き込むよりも速くログに記録すると、イベントバッファがいっぱいになります。あなたの場合、イベントバッファが10,000メッセージに達すると、ロギングメカニズムは、バッファがディスクに書き込まれるまでブロックするか、ログメッセージを破棄するかのいずれかで、イベントバッファを10,000メッセージ以下に保つためのアクションを実行します。

于 2011-11-15T13:25:14.043 に答える