Laravel 8 报告异常

2021-07-13 17:47 更新

所有异常都是由 App\Exceptions\Handler 类处理。此类包含一个 register 方法,可以在其中注册自定义异常报告程序和渲染器回调。我们将详细研究每个概念。异常报告用于记录异常或将其发送到如 FlareBugsnagSentry 等外部服务。默认情况下,将根据你的 日志 配置来记录异常。不过,你可以用任何自己喜欢的方式来记录异常。

例如,如果您需要使用不同的方式来报告不同的异常,您可以使用 reportable 方法来注册一个闭包,当需要报告给定的异常的时候便会执行它。 Laravel 将通过检查闭包的类型提示来判断闭包报告的异常类型:

use App\Exceptions\CustomException;

/**
 * 为应用程序注册异常处理回调
 *
 * @return void
 */
public function register()
{
    $this->reportable(function (CustomException $e) {
        //
    });
}

当您使用 reportable 方法注册一个自定义异常报告回调时, Laravel 依然会使用默认的日志配置记录下应用异常。 如果您想要在默认的日志堆栈中停止这个行为,您可以在定义报告回调时使用 stop 方法:

$this->reportable(function (CustomException $e) {
    //
})->stop(); 

技巧:要为给定的异常自定义异常报告,您可以使用 可报告异常


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号