Как добавить тег в отчеты Sentry? - PullRequest
0 голосов
/ 12 марта 2020

Хорошо, поэтому я хочу добавить идентификацию пользователя в наши часовые отчеты.

Используя Spring, у нас есть OidcUserService, который загружает пользователей ...

public class MyOidcUserService extends OidcUserService {

    @Override
    public OidcUser loadUser(OidcUserRequest userRequest) throws OAuth2AuthenticationException {
        var sentry = Sentry.getStoredClient();
        var sContext = Sentry.getContext();

        sentry.addTag("user", "<unauthenticated>");
        sContext.addTag("user", "<context: unauthenticated>");

        var authenticatedUser = super.loadUser(userRequest);
        checkRoles(authenticatedUser);
        var user = getOrCreateUser(authenticatedUser); //MyOidcUser

        sentry.addTag("user", user.getPerson().getThreeLetterCode());
        sContext.addTag("user", "context: " + user.getPerson().getThreeLetterCode());

        if (true) throw new RuntimeException("This really should show the tag ...");
        return user;
    }

    ...
}

Что случается, однако, что исключения появляются на sentry, хорошо, но тег user отсутствует.

Почему? И как мне добавить чертову вещь?

1 Ответ

2 голосов
/ 15 марта 2020

Пожалуйста, посмотрите на https://docs.sentry.io/clients/java/integrations/#usage это должно быть что-то вроде:

// Set the user in the current context.
Sentry.getContext().setUser(
     new UserBuilder().setEmail("a@a.com").build()
);
...