Как включить предупреждение и события более высокого уровня в приложение SMTP?
SMTPAppender хранит только последние события регистрации BufferSize в своем циклическом буфере. Это поддерживает требования к памяти на разумном уровне, в то же время обеспечивая полезный контекст приложения. Все события в буфере включены в электронное письмо. Буфер будет содержать самые последние события уровня TRACE до WARN , предшествующие событию, которое вызвало электронную почту.
Поведение по умолчанию - инициировать отправку электронного письма, когда регистрируется событие ОШИБКА или выше, и форматировать его как HTML. Обстоятельства отправки электронного письма можно контролировать, установив один или несколько фильтров в Appender.
Log4j2 SMTPAppender
Согласно этому комментарию отправка электронной почты событие привязано к пороговому фильтру . Настройка порогового фильтра изменяет уровень событий, которые инициируют отправку электронного письма, но не влияет на то, что будет сохранено в буфере.
Изменение самого уровня регистратора неосуществимо, поскольку события должны обрабатываться и другими приложениями.
<Appender>
....
<SMTP name="Mail" subject="Error Log"
to="${mailTo}" smtpHost="smtp.googlemail.com"
smtpProtocol="smtps" smtpPort="465" bufferSize="512"
smtpUsername="${smtpUsername}"
smtpPassword="${smtpPassword}">
<ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
</SMTP>
<Async name="AsyncMail">
<AppenderRef ref="Mail" />
</Async>
</Appenders>
<Loggers>
<Logger name="com.github.kilianB" level="trace">
<AppenderRef ref="STDOUT" />
<AppenderRef ref="FILE" />
<AppenderRef ref="AsyncMail" />
</Logger>
</Loggers>