[PHP][Laravel] Handler.phpで特定の例外エラー(Exception)を処理対象外としたい

バージョン

Laravel 5.7

概要

発生した例外エラー(Exception)をHandler.phpのreportメソッドでbugsnagやslackなどに通知する処理があった場合
大量に発生するような例外を処理の対象外とする。
例としてAuthenticationExceptionを除外する。

コード

■App\Exceptions\Handler.php

    // 除外したい例外クラスを追加する
    protected $dontReport = [
        \Illuminate\Auth\AuthenticationException::class,
    ];

    public function report(Exception $exception)
    {
        // shouldReport()はdontReportに含まれていないexceptionであればtrueとなる
        if ($this->shouldReport($exception)) {
            Bugsnag::notifyException($exception);
        }
        
        parent::report($exception);
    }

単純に$dontReportに追加するだけではHandler.phpのreportメソッドでは効果がないので注意。
(parent::reportメソッド側では効果があり、$logger->errorの対象外となる)
ちなみに$dontReportにある例外時は何もさせたくない場合は以下のようにする。

    public function report(Exception $exception)
    {
        if ($this->shouldntReport($e)) {
            return;
        }

        Bugsnag::notifyException($exception);
        
        parent::report($exception);
    }

shoudReportとshouldntReportがあるので都合が良い方を。