在 Sentry 中捕获用户信息
Capture user info in Sentry
我最近才开始在我的 Laravel 5.1 应用程序中使用 Sentry。
我在文档和入门资料中看到了对 capturing user information 的引用。
他们给出的传递这个的例子是这样的:
Raven.setUserContext({
email: 'foo@example.com'
});
在遵循他们的 setup instructions for Laravel 之后,我没有看到关于它可以去哪里的参考,也没有在文档中看到任何关于如何在配置文件或任何 Laravel 中设置它的参考。
关于如何设置它以发送用户信息的任何想法?用户在使用我的应用程序时将始终处于登录状态。
我知道这个问题已经三个月了,如果您已经找到答案,我们深表歉意。
我有相同的要求(在 Sentry 中记录用户作为异常的一部分)所以我自己做了一点挖掘。
Raven.setUserContext()
似乎是 JavaScript SDK 特有的功能。 PHP SDK 在 Raven 客户端上有一个 set_user_data($id, $email, $data)
方法,您可以在您的应用程序的某个地方使用它(很可能在您实际将异常发送到 Sentry 之前在您的异常处理程序中使用)。
像这样的东西应该可以工作:
public function report(Exception $e)
{
// Will only enter if statement if request has a user
if ($user = request()->user()) {
app('sentry')->set_user_data($user->getAuthIdentifier(), $user->email);
}
app('sentry')->captureException($e);
return parent::report($e);
}
我最近才开始在我的 Laravel 5.1 应用程序中使用 Sentry。
我在文档和入门资料中看到了对 capturing user information 的引用。
他们给出的传递这个的例子是这样的:
Raven.setUserContext({
email: 'foo@example.com'
});
在遵循他们的 setup instructions for Laravel 之后,我没有看到关于它可以去哪里的参考,也没有在文档中看到任何关于如何在配置文件或任何 Laravel 中设置它的参考。
关于如何设置它以发送用户信息的任何想法?用户在使用我的应用程序时将始终处于登录状态。
我知道这个问题已经三个月了,如果您已经找到答案,我们深表歉意。
我有相同的要求(在 Sentry 中记录用户作为异常的一部分)所以我自己做了一点挖掘。
Raven.setUserContext()
似乎是 JavaScript SDK 特有的功能。 PHP SDK 在 Raven 客户端上有一个 set_user_data($id, $email, $data)
方法,您可以在您的应用程序的某个地方使用它(很可能在您实际将异常发送到 Sentry 之前在您的异常处理程序中使用)。
像这样的东西应该可以工作:
public function report(Exception $e)
{
// Will only enter if statement if request has a user
if ($user = request()->user()) {
app('sentry')->set_user_data($user->getAuthIdentifier(), $user->email);
}
app('sentry')->captureException($e);
return parent::report($e);
}