通过Raven将用户信息传递给Sentry

时间:2018-03-27 16:41:19

标签: reactjs sentry raven

我在react-application上设置了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 - 此SOMETIMES会传递相应的信息。我知道通过Raven对象属性访问数据是不对的,但我不确定如何设置Raven选项以始终传递登录时收集的用户信息。我觉得我错过了一些显而易见的东西,但是这些码头似乎都与传递信息有关,同时抛出特殊异常,我想配置它以便在抛出任何错误时传递用户信息。

1 个答案:

答案 0 :(得分:1)

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