【问题标题】:Passing User Information To Sentry through Raven通过 Raven 将用户信息传递给 Sentry
【发布时间】:2018-03-27 16:41:18
【问题描述】:

我在反应应用程序上设置了 Sentry 错误跟踪。我使用反应路由器 4 并在该级别配置 Raven,这会捕获所有抛出的异常并将它们报告给我想要的 Sentry。该代码块如下所示:

Raven.config('RAVEN_SPECIFIC_KEY', {
  user: Raven._globalContext
}).install()

但是,我还希望错误报告包含引发错误的用户的电子邮件和数据库 ID。为了实现这一点,当有人使用如下代码块登录时,我将设置 Raven 用户信息:

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

如您所见,现在我有一个用户标签,我将其设置为 Raven._globalContext - 这有时会传递适当的信息。我知道像这样通过 Raven 对象属性访问数据是不对的,但我不确定如何设置 Raven 选项以始终传递登录时收集的用户信息。我觉得我遗漏了一些明显的东西,但码头似乎都与在抛出特定异常时传递信息有关,我想在其中进行配置,以便在抛出任何错误时传递用户信息。

【问题讨论】:

  • 如果您使用setUserContext,则不必在主配置中指定用户。这就是做的,让你设置当前登录的用户在你已经初始化了Raven。因此,只需调用setUserContext,它就应该使用该用户信息回填所有错误报告。您应该能够从配置对象中删除 user 属性。
  • 这……太有道理了!我最初尝试过,并认为我有另一个导致问题的设置,所以最终钻得比我需要的更深,并试图将一些东西组合在一起。谢谢!
  • 哈哈是的,我们都去过那里。我把我的评论移到了回答,如果你能接受那就太好了!顺便说一句,很棒的用户名!

标签: reactjs sentry raven


【解决方案1】:

如果您使用setUserContext,则不必在主配置中指定用户。这就是做的,让你设置当前登录的用户在你已经初始化了 Raven。因此,只需调用setUserContext,它就应该使用该用户信息回填所有错误报告。您应该能够从配置对象中删除用户属性。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-02-23
  • 2016-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-13
相关资源
最近更新 更多