2011-11-15 11 views
2

でorg.apache.log4jクラスAsyncAppender公共ボイドsetBufferSize(int型のサイズ)log4jアペンダの "BufferSize"は何を表していますか?

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. 

Iが10,000を設定しています。しかし、ファイルは10K後も成長し続けます! 理由は何ですか?

答えて

3

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

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

関連する問題