Java logback smtpAppender有没有办法在应用程序的主题中添加一些信息?

Java logback smtpAppender有没有办法在应用程序的主题中添加一些信息?,java,logback,appender,smtpappender,Java,Logback,Appender,Smtpappender,我正在尝试使用带有一些附加信息的logback发送错误日志。例如,当发生错误时,我想添加登录到appliaction的用户标签,最好在主题中。我知道如果存在登录用户,我可以捕获所有错误并将用户标签添加到错误消息中,但有更好的方法吗?目前,我的日志如下所示: <appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender"> <SMTPHost>${smtpHost}<

我正在尝试使用带有一些附加信息的logback发送错误日志。例如,当发生错误时,我想添加登录到appliaction的用户标签,最好在主题中。我知道如果存在登录用户,我可以捕获所有错误并将用户标签添加到错误消息中,但有更好的方法吗?目前,我的日志如下所示:

<appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender">
            <SMTPHost>${smtpHost}</SMTPHost>
            <Username>${smtpUser}</Username>
            <Password>${smtpPass}</Password>
            <To>${mail}</To>
            <From>${mailFrom}</From>
            <Subject>SYSTEM ERROR: %logger{20} - %m</Subject>
            <layout class="ch.qos.logback.classic.PatternLayout">
                <Pattern>%date %logger{35} - %message%n</Pattern>
            </layout>

 </appender>

${smtpHost}
${smtpUser}
${smtpPass}
${mail}
${mailFrom}
系统错误:%logger{20}-%m
%日期%logger{35}-%n消息

首先,实现MDC解决方案以跟踪应用程序中的用户,请参阅:。完成此操作后(您可以在许多其他地方受益),只需将自定义密钥添加到主题:

<Subject>SYSTEM ERROR: %logger{20} - %X{user} - %m</Subject>
系统错误:%logger{20}-%X{user}-%m
被证明是有效的