[c#]使用 SmtpAppender 只发送电子邮件时记录一个错误或致命

标签: Asp.net Log4Net C#
发布时间: 2017/2/25 3:36:18
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我使用 log4net 记录不同类型的消息。 登录消息时,我已添加到电子邮件的特定用户的 SmtpAppender。 然而,想要实现是为了能够只发送电子邮件,如果错误或致命记录。 根据贵方对我当前的配置在 web.config 文件中,我得到两封电子邮件,人为的错误,另一个用于日志的其余部分。 动作︰

logger.Info("Info");
logger.Warn("Warning");
logger.Fatal("Fatal");
logger.Error("exception");

web.config:

<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
    <to value="bla@bla.com" />
    <from value="bla@bla.com" />
    <subject value="test logging message" />
    <smtpHost value="*******" />
    <bufferSize value="512" />
    <lossy value="true" />
    <evaluator type="log4net.Core.LevelEvaluator">
        <threshold value="WARN"/>
    </evaluator>
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%newline%date [%thread] %-5level %logger- %message%newline%newline%newline" />
    </layout>
</appender>

解决方法 1:

我已经找到了解决办法,我只是应该将此标记添加到 SmtpAppender:

<filter type="log4net.Filter.LevelRangeFilter">
    <levelMin value="ERROR" />
    <levelMax value="FATAL" />
</filter>
官方微信
官方QQ群
31647020