4

我在我的 Laravel 项目中设置了 Sentry.io。我也在使用队列。

我想知道是否可以将失败的队列发送到 Sentry?因为他们在失败时不会自动发送。

4

2 回答 2

9

通过失败的队列,我猜你的意思是失败的工作,因为你只需要failed()在工作中实现方法:

/**
 * Handle a job failure.
 *
 * @return void
 */
public function failed(\Exception $exception)
{
    // Send exception data to sentry.io
    // It should catch it by default since it throws an exception
    // But you can force a report manually
    app('sentry')->captureException($exception);
}

在Laravel 文档中查看如何处理失败的作业。

于 2018-03-27T10:53:17.923 回答
2

如果您将以下代码段添加到错误处理程序(如此处所述),则只要通过->shouldReport()检查,就会捕获所有未捕获的异常(也包括在队列作业中引发的异常)。

if (app()->bound('sentry') && $this->shouldReport($exception)) {
    app('sentry')->captureException($exception);
}
于 2018-07-27T13:55:06.943 回答