【发布时间】:2016-01-20 16:25:10
【问题描述】:
我有一个 appender,我认为应该将其配置为仅在 ERROR 级别登录时发送电子邮件。
但我不断收到来自应用程序的电子邮件,其中没有任何具有错误日志级别的条目。
此配置中是否存在“欺骗”appender 发送的内容?也许与有损设置有关?
<appender name="SmtpErrorAppender" type="log4net.Appender.SmtpAppender">
<to value="myemail@somewhere.com"/>
<from value="someapp@config.com" />
<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>
【问题讨论】:
-
使用下面的过滤器-原因是(source)-“评估器由 BufferingAppenderSkeleton 实现,因此仅由扩展此基类并提供缓冲支持的附加程序支持。SmtpAppender就是这样一个 appender。Evaluator 是一个可插入的对象,BufferingAppenderSkeleton 使用它来确定是否不应该缓冲日志事件,而是立即写入/发送。"
标签: log4net log4net-configuration