8

sentry raven-java クライアントでユーザー コンテキストを設定するにはどうすればよいですか?

user_emailタグを追加user_emailして、MDC に追加しようとしました。タグはタグに、MDC は追加のデータに移動しますが、どちらもセントリー ユーザー コンテキストを設定しません。

また、javascript でセントリーを使用し、raven-js を使用すると、これはうまく機能します。

Raven.setUserContext({
    email: '',
    id: ''
});

Javaに相当するものはありますか?

4

3 に答える 3

1

logback でユーザー情報を直接送信できないようです。raven-java から実装を確認できます。

protected Event buildEvent(ILoggingEvent iLoggingEvent) {
    EventBuilder eventBuilder = new EventBuilder()
            .withTimestamp(new Date(iLoggingEvent.getTimeStamp()))
            .withMessage(iLoggingEvent.getFormattedMessage())
            .withLogger(iLoggingEvent.getLoggerName())
            .withLevel(formatLevel(iLoggingEvent.getLevel()))
            .withExtra(THREAD_NAME, iLoggingEvent.getThreadName());
    ......
}

ユーザー情報は withSentryInterface(new UserInterface(...)) によって送信されますが、この実装には StackTraceInterface と MessageInterface のコードしか含まれていません。自分で追加できると思います。

于 2016-12-16T12:01:01.583 に答える
0

https://github.com/getsentry/raven-java/tree/master/raven-log4j#mapped-tagsから:

アペンダーでマップタグを設定します。

log4j.appender.SentryAppender.mappedTags=User,OS

実行時に MDC を設定します。

void logWithExtras() {
    // MDC extras
    MDC.put("User", "test user");
    MDC.put("OS", "Linux");

    // This adds a message with extras and MDC keys declared in mappedTags as tags to Sentry
    logger.info("This is a test");
}
于 2015-02-09T05:21:13.463 に答える