如何从Laravel 5.2应用程序报告Bugsnag的任何和所有例外

时间:2016-07-28 16:20:21

标签: php laravel laravel-5.2 bugsnag

使用相关文档安装了Laravel和Bugsnag之后,我发现例如NotFoundHttpException错误没有报告给Bugsnag(但是notifyError是)。我的问题是如何设置它以便报告所有错误,而不是一遍又一遍地使用这些行:

Bugsnag::notifyError('ErrorType', 'Something bad happened');

try {
    // Some potentially crashy code
} catch (Exception $ex) {
    Bugsnag::notifyException($ex);
}

我正在考虑使用Handler中的app/exceptions,如此:

public function report(Exception $e)
{
    Bugsnag::notifyException($e);
    parent::report($e);
}

但是如果在Laravel / Bugsnag集成文档中没有提到它,这是一个好习惯吗?此Laracast video未描述对异常处理程序的任何更改,并且设置似乎按预期工作。

2 个答案:

答案 0 :(得分:3)

在App \ Exceptions \ Handler中,从$ dontReport中删除所有Exception类。我不确定你为什么要报告所有错误,但这应该为你做。

答案 1 :(得分:0)

  

\ app \ Exceptions \ Handler.php

覆盖internalDontReport属性。 以下是从\vendor\laravel\framework\src\Illuminate\Foundation\Exceptions\Handler.php

继承来的默认值
protected $internalDontReport = [
    AuthenticationException::class,
    AuthorizationException::class,
    HttpException::class,
    HttpResponseException::class,
    ModelNotFoundException::class,
    TokenMismatchException::class,
    ValidationException::class,
];