Tôi đang cố gắng cấu hình một log4net SmtpAppender để tôi chỉ nhận được một e-mail nếu một mức nhật ký nhất định bị trúng, nhưng với 10 dòng cuối cùng từ tất cả các mức được bao gồm. Đây là cấu hình của tôi:Làm thế nào để cấu hình một log4net SmtpAppender để chỉ gửi cho tôi e-mail khi một cấp độ nhất định được nhấn?
<appender name="EmailAppender" type="SmtpSubjectLayoutAppender">
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="WARN"/>
</evaluator>
<bufferSize value="10" />
<lossy value="false" />
...
</appender>
Tôi đang thực hiện nó với mã này:
for (var i = 1; i <= 30; i++)
{
logger.Info("This is just a test message " + i);
}
logger.Error("Error message");
Vấn đề là tôi kết thúc nhận được 3 e-mail, 2 với tất cả các INFO
khai thác gỗ và một trong đó có vài dòng cuối cùng đã xảy ra trước khi ERROR
:
[2012-07-27 18:59:55.657][INFO ][Chase][tid=14972] This is just a test message 23
[2012-07-27 18:59:55.659][INFO ][Chase][tid=14972] This is just a test message 24
[2012-07-27 18:59:55.661][INFO ][Chase][tid=14972] This is just a test message 25
[2012-07-27 18:59:55.662][INFO ][Chase][tid=14972] This is just a test message 26
[2012-07-27 18:59:55.664][INFO ][Chase][tid=14972] This is just a test message 27
[2012-07-27 18:59:55.666][INFO ][Chase][tid=14972] This is just a test message 28
[2012-07-27 18:59:55.667][INFO ][Chase][tid=14972] This is just a test message 29
[2012-07-27 18:59:55.670][INFO ][Chase][tid=14972] This is just a test message 30
[2012-07-27 18:59:55.671][ERROR][Chase][tid=14972] Error message
làm thế nào để cấu hình appender vì vậy mà tôi nhận được một e-mail với 10 dòng cuối cùng nếu WARN hoặc cao hơn xảy ra, b ut bỏ qua bộ đệm khác?
hãy xem bài đăng này để có câu trả lời chính xác: http://stackoverflow.com/questions/13254495/log4net-levelevaluator-ignored-when-buffersize-greater-than-1-for-smtpappender –