2016-01-20 96 views
1

我有一个appender,我认为应该配置为只发送电子邮件时记录在错误级别。Log4Net电子邮件appender发送电子邮件时,阈值未达到

但我一直从应用程序收到没有任何条目的错误日志级别的电子邮件。

在这个配置中有什么东西是“愚弄”appender发送?可能与有损设置有关?

<appender name="SmtpErrorAppender" type="log4net.Appender.SmtpAppender"> 
    <to value="[email protected]"/> 
    <from value="[email protected]" /> 
    <subject value="Service Error" /> 
    <authentication value="None" /> 
    <smtpHost value="127.0.0.1" /> 
    <port value="25" /> 
    <lossy value="false" /> 
    <evaluator type="log4net.Core.LevelEvaluator"> 
     <threshold value="ERROR" /> 
    </evaluator> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%newline %-5level %date %message%newline%newline%newline" /> 
    </layout> 
</appender> 
<root> 
    <level value="DEBUG"/> 
    <appender-ref ref="RollingLogFileAppender"/> 
    <appender-ref ref="SmtpErrorAppender"/> 
</root> 
+0

使用如下的过滤器 - 的原因是这样的[(源)](http://mail-archives.apache.org/mod_mbox/logging-log4net-user/200509.mbox/%[email protected] 。“评估者是由BufferingAppenderSkeleton实现的,因此只有支持者支持 扩展这个基类,并提供缓冲支持。一个由BufferingAppenderSkeleton使用的可插入对象,用于确定 是否不应缓存日志事件,而是立即写入/发送。“** – stuartd

回答

1

在appender中设置日志级别过滤器。

<filter type="log4net.Filter.LevelRangeFilter"> 
    <levelMin value="ERROR" /> 
    <levelMax value="FATAL" /> 
</filter> 
+0

这是否意味着有损日志将只包含ERROR和FATAL,并且不包含任何信息消息领先到错误? – BenCr