Sentry-将任意键/值对添加到用户上下文

时间:2019-04-30 01:19:09

标签: c# sentry

在下面的documentation中,您声明可以

  

...除了保留名称之外,还提供任意键/值对,这些键/值对将与用户一起存储

在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 个答案:

答案 0 :(得分:1)

您可以通过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"},
                }
};

This PR is making Other mutable,因此您可以添加以下数据:

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