我正在尝试为 log4net 设计一个 SMTP appender 配置,当发生特定字符串匹配时,它将发送一封包含先前日志条目的电子邮件。用例是我们有一个每天都在运行的进程。我有一个 SMTPAppender 可以监视错误并且工作正常。但是我想要另一个 SMTP 附加程序,它在程序完成运行时监视“程序成功”消息,并向我们的操作人员发送一封电子邮件,其中包含运行的所有日志条目,如下所示:
1/1/2014 4:00 PM - Program started
1/1/2014 4:01 PM - Program Running
1/1/2014 4:02 PM - Program still running
1/1/2014 4:03 PM - Program success
这是我为 appender 准备的模板
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="ops@example.com" />
<from value="automated@example.com" />
<subject value="Program has run successfully" />
<smtpHost value="mailserver.com" />
<username value="" />
<password value="" />
<bufferSize value="512" />
<lossy value="false" />
<evaluator type="log4net.Core.???">
What goes here?
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
</layout>
</appender>