У меня есть приложение, которое, как я думал, должно быть настроено только на отправку писем при регистрации на уровне ERROR.Приложение электронной почты Log4Net отправляет письма, когда порог не был удовлетворен
Но я продолжаю получать электронные письма от приложения, у которого нет записей с уровнем журнала ERROR.
Есть ли что-то в этой конфигурации, которое «обманывает» приложение в отправке? Возможно, что-то связанное с потерей настройки?
<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>
Используйте фильтр, как показано ниже - причина заключается в следующем [(источник)] (http://mail-archives.apache.org/mod_mbox/logging-log4net-user/200509.mbox/%[email protected] .neoworks.co.uk% 3E) - «Оценщик реализован BufferingAppenderSkeleton и поэтому поддерживается только приложениями, которые расширяют этот базовый класс и обеспечивают поддержку буферизации. SmtpAppender является одним из таких приложений. ** Оценщик является подключаемый объект, который используется BufferingAppenderSkeleton для определения , если событие регистрации не должно быть буферизировано, а вместо этого написано/отправлено немедленно ». ** – stuartd