我想仅在将100 个错误写为 html 表之后才发送电子邮件(这是 的目的SmtpExtendedAppender
,遍历所有已保存的消息),但我不知道如何访问它们。
这是我的 app.config:
<appender name="SmtpAppender" type="log4net.Appender.SmtpExtendedAppender">
<authentication value="Basic" />
<password value="xxxxxx"/>
<username value="xxxxxxxx"/>
<from value="myemail@gmail.com" />
<to value="toemail@gmail.com" />
<smtpHost value="smtp.gmail.com" />
<isBodyHtml value="true" />
<bufferSize value="100" />
<EnableSsl value="true"/>
<subject value="test logging message" />
<lossy value="true" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="WARN"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{ABSOLUTE} [%logger]%newlineUsername: %property{username}%newline%level - %message%newline%exception" />
</layout>
</appender>
这是我的控制台应用程序:
static void Main(string[] args)
{
Console.WriteLine("hello world");
log.Error("This is my first error message");
log.Error("This is my second error message");
Console.ReadLine();
}
我不完全理解 log4net 缓冲区大小是如何工作的,即使我给它的值为 100,它每次运行我的控制台应用程序时都会向我发送 2 封单独的电子邮件。
如果我将运行此应用程序 50 次以达到100 ERRORS,是否可以累积它们然后在一封电子邮件中发送它们?