当发生任何应用程序错误时,我正在使用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>
是否需要进行其他更改?
答案 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 调试日志中没有任何错误。
还检查了这个问题:
有时检查您的系统管理是否有这些配置是很好的,就像我的情况一样。他们可以解决您的问题。