扩展log4net SmtpAppender以获取动态收件人电子邮件地址 [英] extend log4net SmtpAppender for dynamic To email address

查看:231
本文介绍了扩展log4net SmtpAppender以获取动态收件人电子邮件地址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好的.我创建了自定义SmtpAppender以使用动态 To 电子邮件地址.

Ok. I have created custom SmtpAppender to use dynamic To email address.

使用Log4net提供的示例项目-我设法使用了如下所示的动态电子邮件地址

Using sample project given with Log4net - I have managed to use dynamic email address as below

log4net.ThreadContext.Properties["ToProperty"] =  "swapneel@stackoverlfow.com";

和我的 自定义SMTPAppender

and in my custom 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();
        }

此代码在示例应用程序中有效,但是由于某种原因,当我试图在我们的"项目"中使用它时,不起作用.

this code is working in sample application but when I am trying to use it in our "Project" not working for some reason.

我在Log4net.config中有2个追加程序. EventLog可以按预期工作,但是CustomSmtpAppender没有发送任何电子邮件. 解决该问题的任何方向.

I have 2 appenders in Log4net.config. EventLog is working as expected but CustomSmtpAppender is not sending any emails. Any direction to resolve this issue.

1] <appender name ="EmailLogAppender1" type ="MY.Company.ProjectName.Appenders.CustomSmtpAppender, 
    TRS">


2] <appender name ="EventLogAppender" type="log4net.Appender.EventLogAppender" >

推荐答案

我启用了 log4net内部调试,并且可以查看引起问题的原因.

I enabled log4net internal debugging and could see what was causing problem.

Add this to your Web.Config:

 <appSettings>
  <add key="log4net.Internal.Debug" value="true" />
 </appSettings>
 <system.diagnostics>
  <trace autoflush="true">
   <listeners>
    <add
     name="textWriterTraceListener"
     type="System.Diagnostics.TextWriterTraceListener"
     initializeData="c:\\log4net.txt" />
   </listeners>
  </trace>
 </system.diagnostics>

这篇关于扩展log4net SmtpAppender以获取动态收件人电子邮件地址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆