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

Я использую 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).

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

...