<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] ## 1、簡介 開始一個新的[Lumen](http://laravelacademy.org/tags/lumen "View all posts in Lumen")項目的時候,[錯誤](http://laravelacademy.org/tags/%e9%94%99%e8%af%af "View all posts in 錯誤")和[異常](http://laravelacademy.org/tags/%e5%bc%82%e5%b8%b8 "View all posts in 異常")處理已經默認為你配置好了。此外,Lumen還集成了提供各種功能強大[日志](http://laravelacademy.org/tags/%e6%97%a5%e5%bf%97 "View all posts in 日志")處理器的[Monolog](http://laravelacademy.org/tags/monolog "View all posts in Monolog")日志庫。 ## 2、配置 #### 2.1 錯誤詳情 配置文件`.env`中的APP_DEBUG配置選項控制瀏覽器顯示的錯誤詳情數量。 對本地開發而言,你應該設置環境變量`APP_DEBUG`值為`true`。在生產環境,該值應該被設置為`false`。 ## 3、異常處理器 所有異常都由類`App\Exceptions\Handler`處理,該類包含兩個方法:`report`和`render`。下面我們詳細闡述這兩個方法。 #### 3.1 report方法 `report`方法用于記錄異常并將其發送給外部服務如[Bugsnag](https://bugsnag.com/)。默認情況下,`report`方法只是將異常傳遞給異常被記錄的基類,你可以隨心所欲的記錄異常。 例如,如果你需要以不同方式報告不同類型的異常,可使用PHP的`instanceof`比較操作符: ~~~ /** * 報告或記錄異常 * * This is a great spot to send exceptions to Sentry, Bugsnag, etc. * * @param \Exception $e * @return void */ public function report(Exception $e){ if ($e instanceof CustomException) { // } return parent::report($e); } ~~~ **通過類型忽略異常** 異常處理器的`$dontReport`屬性包含一個不會被記錄的異常類型數組,默認情況下,`404`錯誤異常不會被寫到日志文件,如果需要的話你可以添加其他異常類型到這個數組。 #### 3.2 render方法 `render`方法負責將給定異常轉化為發送給瀏覽器的HTTP響應,默認情況下,異常被傳遞給為你生成響應的基類。然而,你可以隨心所欲地檢查異常類型或者返回自定義響應: ~~~ /** * 將異常渲染到HTTP響應中 * * @param \Illuminate\Http\Request $request * @param \Exception $e * @return \Illuminate\Http\Response */ public function render($request, Exception $e){ if ($e instanceof CustomException) { return response()->view('errors.custom', [], 500); } return parent::render($request, $e); } ~~~ ## 4、HTTP異常 有些異常描述來自服務器的HTTP錯誤碼,例如,這可能是一個“頁面未找到”錯誤(`404`),“認證失敗錯誤”(`401`)亦或是程序出錯造成的`500`錯誤,為了在應用中生成這樣的響應,使用如下方法: ~~~ abort(404); ~~~ `abort`方法會立即引發一個會被異常處理器渲染的異常,此外,你還可以像這樣提供響應描述: ~~~ abort(403, 'Unauthorized action.'); ~~~ 該方法可在請求生命周期的任何時間點使用。 ## 5、日志 Lumen日志工具基于強大的[Monolog](http://github.com/seldaek/monolog)庫,默認情況下,Lumen被配置為在`storage/logs`目錄下每日為應用生成日志文件,你可以使用`Log`門面編寫日志信息到日志中: ~~~ <?php namespace App\Http\Controllers; use Log; use App\User; use App\Http\Controllers\Controller; class UserController extends Controller{ /** * 顯示指定用戶的屬性 * * @param int $id * @return Response */ public function showProfile($id) { Log::info('Showing user profile for user: '.$id); return view('user.profile', ['user' => User::findOrFail($id)]); } } ~~~ 該日志記錄器提供了[RFC 5424](http://tools.ietf.org/html/rfc5424)中定義的七種日志級別:**alert**,?**critical**,?**error**,**warning**,?**notice**,?**info**?和?**debug**。 ~~~ Log::alert($error); Log::critical($error); Log::error($error); Log::warning($error); Log::notice($error); Log::info($error); Log::debug($error); ~~~ #### 5.1?上下文信息 上下文數據數組也會被傳遞給日志方法。上下文數據將會和日志消息一起被格式化和顯示: ~~~ Log::info('User failed to login.', ['id' => $user->id]); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看