我創建了一個自定義的log4net appender。它從log4net.Appender.SmtpAppender下降到log4net.Appender.BufferingAppenderSkeleton。爲什麼不是我的log4net appender緩衝?
我編程設置在其構造函數的參數如下:
this.Lossy = false; //don't drop any messages
this.BufferSize = 3; //buffer up to 3 messages
this.Threshold = log4net.Core.Level.Error; //append messages of Error or higher
this.Evaluator = new log4net.Core.LevelEvaluator(Level.Off); //don't flush the buffer for any message, regardless of level
我希望這將緩衝水平誤差或更高的3個事件,並提供這些事件時,緩衝區填滿。但是,我發現這些事件根本沒有緩衝;相反,每次發生錯誤時都會立即調用SendBuffer()。
我的配置有錯誤嗎?
感謝
我的理解是,它告訴appender在收到超過指定閾值的消息時刷新。 http://logging.apache.org/log4net/release/sdk/log4net.Core.LevelEvaluator.html 我也明白Level.Off是最高的門檻。 http://logging.apache.org/log4net/release/sdk/log4net.Core.Level.Off.html 其中之一不正確? – Eric 2010-03-17 13:56:25
@Eric:查看我更新的答案。 – 2010-03-17 21:17:10
很好地完成。這對我有用。謝謝。 – Eric 2010-03-17 22:04:11