行。我创建了自定义 SmtpAppender 以使用动态To电子邮件地址。
使用 Log4net 给出的示例项目 - 我已经设法使用如下动态电子邮件地址
log4net.ThreadContext.Properties["ToProperty"] = "swapneel@stackoverlfow.com";
在我的 自定义 SMTPAppender
string mailMessageTo;
if (ToProperty == null)
{
mailMessageTo = "DoNotReply@StaockOverlfow.com" }
else
{
var subjectWriter = new StringWriter(System.Globalization.CultureInfo.InvariantCulture);
ToProperty.Format(subjectWriter, loggingEvent);
mailMessageTo = subjectWriter.ToString();
}
此代码在示例应用程序中运行,但是当我尝试在我们的“项目”中使用它时,由于某种原因无法正常工作。
我在 Log4net.config 中有 2 个附加程序。EventLog 按预期工作,但 CustomSmtpAppender 没有发送任何电子邮件。解决此问题的任何方向。
1] <appender name ="EmailLogAppender1" type ="MY.Company.ProjectName.Appenders.CustomSmtpAppender,
TRS">
2] <appender name ="EventLogAppender" type="log4net.Appender.EventLogAppender" >