领域的log4j2级别扩展

log4j2 level expansion in field

将日志消息的级别放入log4j2 中的字段的正确方法是什么?示例如下。

在 log4j2 中,我有一个 SMTPAppender 配置如下:

<SMTP name="Email" smtpHost="..." smtpPort="..."
      smtpUsername="..." smtpPassword="..." ignoreExceptions="false"
      to="..."
      from="..."
      subject="[$${env:INSTANCE_ID}] [$${level}] log message">
</SMTP>

除关卡外一切正常。理想情况下,我希望它输出类似 [PROD] [WARN] log message 的内容,但我对 $${level} 的猜测是不正确的。

使用两个具有两个不同名称和不同主题行的不同附加程序怎么样?

<Appenders>
    <SMTP name="MailWarn" subject="Warn Log" to="..." from="..."
          smtpHost="..." smtpPort="..." bufferSize="...">
    </SMTP>
    <SMTP name="MailError" subject="Error Log" to="..." from="..."
          smtpHost="..." smtpPort="..." bufferSize="...">
    </SMTP>
</Appenders>