我在一个反应应用程序上设置了Sentry错误跟踪。我使用react路由器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选项以始终传递登录时收集的用户信息。我觉得我遗漏了一些显而易见的东西,但是这些停靠似乎都与在抛出特定异常的同时传递信息有关,因此我希望配置它,以便每当抛出任何错误时都会传递用户信息。
发布于 2018-03-27 16:54:21
如果使用setUserContext,则不必在主配置中指定用户。这就是创建Raven的目的,允许您在已经初始化Raven的之后设置当前登录到中的用户。因此,只要调用setUserContext,它就应该用用户信息回填所有错误报告。您应该能够从config对象中删除user属性。
https://stackoverflow.com/questions/49518284
复制相似问题