Sentry - добавление произвольных пар ключ / значение в пользовательский контекст - PullRequest
1 голос
/ 30 апреля 2019

В следующей документации указано, что вы можете

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

В коде C # у меня есть следующее:

var _user = new {
  Login = "fred",
  EmailAddress = "fred@here.com",
  Name = "Fred Flintstone"
}

SentrySdk.ConfigureScope( scope => {
    scope.User = new Sentry.Protocol.User()
    {
        Id = _user.Login,
        Email = _user.EmailAddress,
        Username = _user.Login
    };
});

Есть ли способ добавить Name (или любое другое поле)? Или документация просто ссылается на теги?

1 Ответ

1 голос
/ 01 мая 2019

Вы можете добавить свои пользовательские данные с помощью свойства Other.

Последняя версия Sentry.Protocol имеет Other как IReadOnlyDictionary, что означает, что вам нужно назначить новый экземпляр, например:

var sut = new User
{
    Id = "user-id",
    Email = "test@sentry.io",
    IpAddress = "::1",
    Username = "user-name",
    Other = new Dictionary<string, string>
                {
                    {"Name", "your name"},
                    {"anything else", "whatever"},
                }
};

Этот PR делает Other изменяемым , поэтому вы можете добавлять такие данные, как:

var user = new User();
user.Other.Add("key", "value");
...