Laravel 8 報告異常

2021-07-13 17:47 更新

所有異常都是由 App\Exceptions\Handler 類處理。此類包含一個 register 方法,可以在其中注冊自定義異常報告程序和渲染器回調(diào)。我們將詳細(xì)研究每個概念。異常報告用于記錄異?;?qū)⑵浒l(fā)送到如 FlareBugsnagSentry 等外部服務(wù)。默認(rèn)情況下,將根據(jù)你的 日志 配置來記錄異常。不過,你可以用任何自己喜歡的方式來記錄異常。

例如,如果您需要使用不同的方式來報告不同的異常,您可以使用 reportable 方法來注冊一個閉包,當(dāng)需要報告給定的異常的時候便會執(zhí)行它。 Laravel 將通過檢查閉包的類型提示來判斷閉包報告的異常類型:

use App\Exceptions\CustomException;

/**
 * 為應(yīng)用程序注冊異常處理回調(diào)
 *
 * @return void
 */
public function register()
{
    $this->reportable(function (CustomException $e) {
        //
    });
}

當(dāng)您使用 reportable 方法注冊一個自定義異常報告回調(diào)時, Laravel 依然會使用默認(rèn)的日志配置記錄下應(yīng)用異常。 如果您想要在默認(rèn)的日志堆棧中停止這個行為,您可以在定義報告回調(diào)時使用 stop 方法:

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

技巧:要為給定的異常自定義異常報告,您可以使用 可報告異常。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號