Как отправить единую консолидированную почту, используя SMTPAppender вместо почты для каждой регистрации ошибок

Я использую SMTPAppend в logback для отправки уведомления по электронной почте, если в моей работе cron возникла непредвиденная ошибка. Поэтому я использую маркер для того же:

if (x == null) {
_logger.error(SMTP_TRIGGER,"msg1");
} else {
   ....
}

if (y == null) {
 _logger.error(SMTP_TRIGGER,"msg2");
} else {
  ...
}

logback.xml:

<appender name="Email" class="ch.qos.logback.classic.net.SMTPAppender">
    <smtpHost>smtpHost</smtpHost>
    <smtpPort>port</smtpPort>
    <to>emailStr</to>
    <from>toStr</from>
    <subject>Cron Issues</subject>
    <username>username</username>
    <password>password</password>

    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>ERROR</level>
    </filter>

    <evaluator class="ch.qos.logback.classic.boolex.JaninoEventEvaluator">
      <expression>
        (marker != null &amp;&amp; marker.contains("SMTP_TRIGGER"))
      </expression>
    </evaluator>

    <layout class="ch.qos.logback.classic.PatternLayout">
      <pattern>%date - %message%n</pattern>
    </layout>       
</appender>

Теперь, когда x и y оба равны нулю, я получаю два отдельных электронных письма, одно с сообщением "msg1" и другое с "msg2". Я хочу получить одно электронное письмо со всеми такими сообщениями (как msg1, так и msg2).

Другое дело, что я не видел способа установить высокое значение для почты при входе в систему. Есть ли способ сделать это, что я скучаю.

0 ответов

Другие вопросы по тегам