我在我的 Laravel 项目中设置了 Sentry.io。我也在使用队列。
我想知道是否可以将失败的队列发送到 Sentry?因为他们在失败时不会自动发送。
我在我的 Laravel 项目中设置了 Sentry.io。我也在使用队列。
我想知道是否可以将失败的队列发送到 Sentry?因为他们在失败时不会自动发送。
通过失败的队列,我猜你的意思是失败的工作,因为你只需要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 文档中查看如何处理失败的作业。
如果您将以下代码段添加到错误处理程序(如此处所述),则只要通过->shouldReport()
检查,就会捕获所有未捕获的异常(也包括在队列作业中引发的异常)。
if (app()->bound('sentry') && $this->shouldReport($exception)) {
app('sentry')->captureException($exception);
}