国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

錯(cuò)誤與日志

2018-12-17 10:51 更新

配置

應(yīng)用程序的日志功能配置在 Illuminate\Foundation\Bootstrap\ConfigureLogging 啟動(dòng)類中。這個(gè)類使用 config/app.php 配置文件的 log 配置選項(xiàng)。

日志工具默認(rèn)使用每天的日志文件;然而,你可以依照需求自定義這個(gè)行為。因?yàn)?Laravel 使用流行的 Monolog 日志函數(shù)庫(kù),你可以利用很多 Monolog 提供的處理進(jìn)程。

例如,如果你想要使用單一日志文件,而不是每天一個(gè)日志文件,你可以對(duì) config/app.php 配置文件做下面的變更:

'log' => 'single'

           

Laravel 提供立即可用的 single 、daily 、syslogerrorlog 日志模式。然而,你可以通過(guò)覆寫(xiě) ConfigureLogging 啟動(dòng)類,依照需求自由地自定義應(yīng)用程序的日志。

錯(cuò)誤細(xì)節(jié)

config/app.php 配置文件的 app.debug 配置選項(xiàng)控制應(yīng)用程序透過(guò)瀏覽器顯示錯(cuò)誤細(xì)節(jié)。配置選項(xiàng)默認(rèn)參照 .env 文件的 APP_DEBUG 環(huán)境變量。

進(jìn)行本地開(kāi)發(fā)時(shí),你應(yīng)該配置 APP_DEBUG 環(huán)境變量為 true 。 在上線環(huán)境,這個(gè)值應(yīng)該永遠(yuǎn)為 false 。            

           

錯(cuò)誤處理

所有的異常都由 App\Exceptions\Handler 類處理。這個(gè)類包含兩個(gè)方法: reportrender

report 方法用來(lái)記錄異?;虬旬惓鬟f到外部服務(wù),例如: BugSnag 。默認(rèn)情況下, report 方法只基本實(shí)現(xiàn)簡(jiǎn)單地傳遞異常到父類并于父類記錄異常。然而,你可以依你所需自由地記錄異常。如果你需要使用不同的方法來(lái)報(bào)告不同類型的異常,你可以使用 PHP 的 instanceof 比較運(yùn)算符:

/**
 * 報(bào)告或記錄異常。
 *
 * 這是一個(gè)發(fā)送異常到 Sentry、Bugsnag 等服務(wù)的好地方。
 *
 * @param  \Exception  $e
 * @return void
 */public function report(Exception $e){
    if ($e instanceof CustomException)
    {
        //    }

    return parent::report($e);}

           

render 方法負(fù)責(zé)把異常轉(zhuǎn)換成應(yīng)該被傳遞回瀏覽器的 HTTP 響應(yīng)。默認(rèn)情況下,異常會(huì)被傳遞到基礎(chǔ)類并幫你產(chǎn)生響應(yīng)。然而,你可以自由的檢查異常類型或返回自定義的響應(yīng)。

異常處理進(jìn)程的 dontReport 屬性是個(gè)數(shù)組,包含應(yīng)該不要被紀(jì)錄的異常類型。由 404 錯(cuò)誤導(dǎo)致的異常默認(rèn)不會(huì)被寫(xiě)到日志文件。你可以依照需求添加其他類型的異常到這個(gè)數(shù)組。

           

HTTP 異常

有一些異常是描述來(lái)自服務(wù)器的 HTTP 錯(cuò)誤碼。例如,這可能是個(gè)「找不到頁(yè)面」錯(cuò)誤 (404)、「未授權(quán)錯(cuò)誤」(401),或甚至是工程師導(dǎo)致的 500 錯(cuò)誤。使用下面的方法來(lái)返回這樣一個(gè)響應(yīng):

abort(404);

           

或是你可以選擇提供一個(gè)響應(yīng):

abort(403, 'Unauthorized action.');

           

你可以在請(qǐng)求的生命周期中任何時(shí)間點(diǎn)使用這個(gè)方法。

自定義 404 錯(cuò)誤頁(yè)面

要讓所有的 404 錯(cuò)誤返回自定義的視圖,請(qǐng)建立一個(gè) resources/views/errors/404.blade.php 文件。應(yīng)用程序?qū)?huì)使用這個(gè)視圖處理所有發(fā)生的 404 錯(cuò)誤。

           

日志

Laravel 日志工具在強(qiáng)大的 Monolog 函數(shù)庫(kù)上提供一層簡(jiǎn)單的功能。Laravel 默認(rèn)為應(yīng)用程序建立每天的日志文件在 storage/logs 目錄。你可以像這樣把信息寫(xiě)到日志:

Log::info('This is some useful information.');Log::warning('Something could be going wrong.');Log::error('Something is really going wrong.');

           

日志工具提供定義在 RFC 5424 的七個(gè)級(jí)別:debuginfo、noticewarning、error、criticalalert

也可以傳入上下文相關(guān)的數(shù)據(jù)數(shù)組到日志方法里:

Log::info('Log message', ['context' => 'Other helpful information']);

           

Monolog 有很多其他的處理方法可以用在日志上。如有需要,你可以取用 Laravel 底層使用的 Monolog 實(shí)例:

$monolog = Log::getMonolog();

           

你也可以注冊(cè)事件來(lái)捕捉所有傳到日志的消息:

注冊(cè)日志事件監(jiān)聽(tīng)器

Log::listen(function($level, $message, $context){
    //});


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)