Log4net - smtp appender无法正常工作

时间:2010-02-09 12:40:11

标签: log4net

当发生任何应用程序错误时,我正在使用log4net发送邮件。我已经配置了log4net但邮件没有被重新编写。以下是配置:

    <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
        <to value="aagrawal@inco.com"/>
        <from value="aagrawal@inco.com"/>
        <subject value="ERROR | MRM Application"/>
        <smtpHost value="relaymail.sapient.com"/>
        <bufferSize value="512"/>
        <lossy value="true"/>
        <evaluator type="log4net.Core.LevelEvaluator">
            <threshold value="ALL"/>
        </evaluator>
        <layout type="log4net.Layout.PatternLayout,log4net">
            <conversionPattern value="%property{log4net:HostName} :: %level :: %message %newlineLogger: %logger%newlineThread: %thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline"/>
        </layout>
    </appender>

是否需要进行其他更改?

5 个答案:

答案 0 :(得分:13)

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

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

也许这会给你一个提示。

答案 1 :(得分:12)

检查是否需要SMTP身份验证。

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

答案 2 :(得分:6)

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

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

答案 3 :(得分:5)

<lossy value="false" />

它对我有帮助

答案 4 :(得分:0)

我将与 SmtpAppender 分享我未收到电子邮件的案例。我工作的组织对群组电子邮件有限制/政策。
在我的例子中,<to value="aagrawal@inco.com"/> 值是一个群组电子邮件例如:developers@office.com,但如果我将其更改为我的个人邮件,它就可以工作。

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

还检查了这个问题:

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