Log4net-smtp附加程序不工作

Log4net-smtp附加程序不工作,log4net,Log4net,我使用log4net在任何应用程序出错时发送邮件。我已经配置了log4net,但是没有记录邮件。以下是配置文件: 是否需要进行任何其他更改?检查是否需要SMTP身份验证 此外,bufferSize value=“512”表示它将在发送电子邮件之前收集512条消息。我很确定你不想那样 看起来不错。要在控制台中查看一些log4net调试消息,请在app.config中添加以下行 <appSettings> <add key="log4net.Internal.Deb

我使用log4net在任何应用程序出错时发送邮件。我已经配置了log4net,但是没有记录邮件。以下是配置文件:



是否需要进行任何其他更改?

检查是否需要SMTP身份验证


此外,bufferSize value=“512”表示它将在发送电子邮件之前收集512条消息。我很确定你不想那样

看起来不错。要在控制台中查看一些log4net调试消息,请在app.config中添加以下行

  <appSettings>
    <add key="log4net.Internal.Debug" value="true"/>
  </appSettings>

也许这会给你一个提示。


<lossy value="false" />

这对我很有帮助

我还发现必须在根元素中引用appender,如下所示:

    <root>
      <level value="INFO"/>
      <appender-ref ref="LogFileAppender"/>
      <appender-ref ref="ConsoleAppender"/>
      <appender-ref ref="SmtpAppender"/>      
    </root>
  </log4net>

我将与SmtpAppender分享我未收到电子邮件的案例。我所在的组织对团体电子邮件有限制/政策。
在我的案例中,
值是一个组电子邮件示例:developers@office.com,但如果我把它改成我的私人邮件,它就会工作

最后,解决方案是为发送邮件制作新的凭证。还尝试了该线程中的所有解决方案,(顺便说一句,谢谢),在log4net调试日志中没有任何错误

还检查了以下问题:


有时,检查您的系统管理以了解这些配置是很好的,就像在我的案例中一样。他们可以解决您的问题。

我将其修改为1。仍然没有收到任何邮件。除了web.config之外,还有其他配置需要完成吗请发布log4net.config的其余部分,以及您如何初始化它。您可以登录到其他Appender吗?如果您想获取错误电子邮件,您应该将阈值设置为ERROR@Stefan:他/她已具有所有阈值,应收到错误,调试和其他。@Mauricio:如果您将阈值设置为“错误”,则在发生错误时,您将只收到一封电子邮件。根据缓冲区大小,电子邮件将包含n条以前的任何级别的邮件。将阈值设置为ALL会在每条消息上发送一封电子邮件,我不认为这是一个人想要的…我发现这篇文章很有帮助,它更详细地描述了如何做到这一点:如果您将此应用程序设置添加到web应用程序,请注意,log4net使用System.Diagnostics中的跟踪基础结构来输出调试信息。因此,您需要确保已设置跟踪。看一看链接到的文章@AaronD,可以看到一个将跟踪设置为输出到文本文件的示例。