我正在尝试使用logback邮寄错误日志以及一些其他信息。例如,当出现错误时,我想添加在应用程序中记录的用户标签,最好在主题中。我知道如果记录的用户存在,我可以捕获所有错误并将用户标签添加到错误消息,但是有更好的方法吗?现在我的logback看起来像这样:
<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>
答案 0 :(得分:2)
首先,实施MDC解决方案以跟踪应用程序中的用户,请参阅:Logging user activity in web app。完成此操作后(您可以在许多其他地方受益),只需向主题添加自定义键:
<Subject>SYSTEM ERROR: %logger{20} - %X{user} - %m</Subject>
证明可以工作。