3

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>
4

1 に答える 1

2

まず、MDC ソリューションを実装して、アプリケーションでユーザーを追跡します。参照: Web アプリでのユーザー アクティビティのログ記録。これが完了したら (他の多くの場所でこれを利用できます)、サブジェクトにカスタム キーを追加するだけです。

<Subject>SYSTEM ERROR: %logger{20} - %X{user} - %m</Subject>

動作することが証明されています。

于 2012-07-29T11:23:25.670 に答える