如何使用SMTPAppender发送单个合并邮件,而不是针对每个错误日志发送邮件

时间:2018-09-30 08:34:03

标签: email spring-boot logging logback smtpappender

如果我的cron作业中有任何意外错误,我将在logback中使用SMTPAppend发送电子邮件通知。因此,我使用相同的标记:

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 个答案:

没有答案