Log4net - smtp appender не работает
Я использую log4net для отправки писем при возникновении какой-либо ошибки приложения. Я настроил log4net, но почта не была возвращена. Ниже приведена конфигурация:
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="[email protected]"/>
<from value="[email protected]"/>
<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>
Есть ли какие-либо другие изменения, которые необходимо сделать?
Ответы
Ответ 1
Это выглядит хорошо. Чтобы увидеть некоторые отладочные сообщения log4net в консоли, добавьте следующие строки в свой app.config
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
Возможно, это даст вам подсказку.
Ответ 2
Проверьте, нужна ли SMTP-аутентификация.
Также значение bufferSize = "512" означает, что он будет собирать 512 сообщений перед отправкой электронной почты. Я почти уверен, что ты этого не хочешь.
Ответ 3
Я также узнал, что в корневом элементе должен быть указан appender:
<root>
<level value="INFO"/>
<appender-ref ref="LogFileAppender"/>
<appender-ref ref="ConsoleAppender"/>
<appender-ref ref="SmtpAppender"/>
</root>
</log4net>
Ответ 4
<lossy value="false" />
это помогло мне