如何使用哨兵raven-java客户端设置用户上下文?

我尝试添加user_email标记,并将user_email添加到MDC。它们都按预期工作,标签进入标签,MDC进入附加数据,但都未设置哨兵用户上下文。

我还将哨兵与javascript和raven-js结合使用,效果很好:

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

是否有Java等效项?

最佳答案

似乎无法通过注销直接发送用户信息。
您可以从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。我认为您可以自己添加一个。

10-07 13:49