向 Laravel 队列中的哨兵发送错误报告

Send error report to sentry within Laravel queue

我在 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 documentation 中失败的作业。

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

if (app()->bound('sentry') && $this->shouldReport($exception)) {
    app('sentry')->captureException($exception);
}