摘要:學和,你真應該來的在的應用當中使用異常處理其實是很有用的,它可以追蹤到你的錯誤在哪,并且你的異常信息也是可以直接保存到中的,所以,這樣的機制也給了我們查看異常的便利。自定義其實背后也不是那么神秘,就是使用了社區非常棒的一個日志處理。
學 Laravel 和 Vuejs,你真應該來 codecasts.com 的
在 Laravel 的應用當中使用異常處理其實是很有用的,它可以追蹤到你的錯誤在哪,并且你的異常信息也是可以直接保存到 storage/logs/laravel.log 中的,所以,這樣的機制也給了我們查看異常的便利。
不處理某些異常然而在現實的應用中,有些異常處理其實我們根本都不關心它是否拋出了,比如 TokenMismatchException,這個異常我覺得在線上的環境是可以直接忽略的,所以在 Laravel 中,其實我們可以很容易就能配置出這樣的效果,我們可以打開 AppExceptionsHandler 文件,在 $dontReport 指定就可以了,Laravel 本身就自帶了一些不需管的異常處理,如果是我們自定義的異常處理的話,在我們不想管它是否是拋出的話,就可以直接配置 $dontReport :
class Handler extends ExceptionHandler { protected $dontReport = [ MyCustomException::class ]; }Log 種類
而如果是異常拋出的話,Laravel 會將異常的信息寫入 storage/logs/laravel.log 文件中的,當然這是默認的情況,因為 Laravel 其實有四種不同格式的日志記錄:
單個 log 文件,配置為 single
每天記錄一個 log 文件,配置為 daily
Syslog 處理,配置為 syslog
錯誤日志處理,配置為 errorlog
在這里需要注意一點是,如果你使用的是 daily 的配置的話,Laravel 默認只保存最近五天的 log 文件。
自定義 Handler其實 log 背后也不是那么神秘,就是使用了 PHP 社區非常棒的一個日志處理 package : Monolog 。所以,其實如果說你想自定義一個日志處理器(LogHandler)的話,也是很簡單的,比如你可以在 bootstrap/app.php 中定義,就把代碼放在返回 $app 這個變量之前就可以了,偽代碼如下:
$app->configureMonologUsing(function ($monolog) { $monolog->pushHandler( new WebhookHandler($webhookUrl) ); }); return $app;異常分類處理
如果你想分開處理這些異常信息,你也是可以直接在 AppExceptionsHandler 的 report() 方法做處理的,比如說,如果你使用了類似 sentry 這樣的服務,就是在這里添加兩行代碼就OK了:
if ($this->shouldReport($e)) { app("sentry")->captureException($e); }總結
Laravel 的異常處理和日志緊密結合,但是有時很靈活的,我們還是很容易地自定義自己的需求和分類處理異常信息。
關注 codecasts 公眾號,定時送書,送福利
第一次點贊最高送書活動的中獎同學為:conversant,評論的內容是:laravel 學習過程中看了很多 laravist 的視頻,很贊,頂我!這位同學記得向公眾號發你的聯系方式和地址。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/23156.html
摘要:請求未通過的驗證時會拋出此異常。異常處理是非常重要但又容易讓開發者忽略的功能,這篇文章簡單解釋了內部異常處理的機制以及擴展異常處理的方式方法。 異常處理是編程中十分重要但也最容易被人忽視的語言特性,它為開發者提供了處理程序運行時錯誤的機制,對于程序設計來說正確的異常處理能夠防止泄露程序自身細節給用戶,給開發者提供完整的錯誤回溯堆棧,同時也能提高程序的健壯性。 這篇文章我們來簡單梳理一下...
摘要:在通常情況下,會自動將異常信息分為兩種格式來處理或者。而在這之前,它會把基本所有的異常信息先處理為后面講一下常見的異常處理。認證異常處理認證異常是指,這個是由的方法來處理的。 學 Laravel 和 Vuejs,來 codecasts.com 看高質量視頻教程 之前的一篇文章介紹了 Laravel 的異常和日志的一些情況,本文來看看 Laravel 在處理異常返回的時候是什么樣的流程。...
摘要:總結本文主要學習了啟動時做的七步準備工作環境檢測配置加載日志配置異常處理注冊注冊啟動。 說明:Laravel在把Request通過管道Pipeline送入中間件Middleware和路由Router之前,還做了程序的啟動Bootstrap工作,本文主要學習相關源碼,看看Laravel啟動程序做了哪些具體工作,并將個人的研究心得分享出來,希望對別人有所幫助。Laravel在入口index...
摘要:是一款即時通信軟件,類似于,它提供開放的,可以調用它向自己團隊中指定的個人或者頻道發送消息,因此用它來進行異常通知是再合適不過的。這樣,當程序中出現異常時,運維能在第一時間收到相關的通知信息,方便及時處理了。 異常處理是軟件開發過程中無法逃避的問題。對于一套設計良好代碼高效的程序,出現異常的可能性會比較低,但這并不意味著不會出現異常,有些異常甚至會引起嚴重的后果,所以如何及時的發現程序...
摘要:文章轉自視頻教程優雅的應用調試工具新擴展是由和開源的應用的調試工具。計劃任務列出已運行的計劃任務。該封閉函數會被序列化為一個長字符串,加上他的哈希與簽名如出一轍該功能將記錄所有異常,并可查看具體異常情況。事件顯示所有事件的列表。 文章轉自:https://laravel-china.org/topics/19013視頻教程:047. 優雅的應用調試工具--laravel/telesco...
閱讀 908·2023-04-25 18:51
閱讀 1863·2021-09-09 11:39
閱讀 3276·2019-08-30 15:53
閱讀 2090·2019-08-30 13:03
閱讀 1304·2019-08-29 16:17
閱讀 574·2019-08-29 11:33
閱讀 1878·2019-08-26 14:00
閱讀 2118·2019-08-26 13:41