laravel 錯誤和日志
本章介紹laravel項目中的錯誤和日志記錄以及如何處理它們。
錯誤
一個項目正在進行中,會產(chǎn)生一些錯誤。在啟動新的laravel項目時,已經(jīng)為您配置了錯誤和異常處理。通常,在本地環(huán)境中,我們需要查看用于調(diào)試目的的錯誤。我們需要在生產(chǎn)環(huán)境中隱藏用戶的這些錯誤。這可以通過在存儲在應(yīng)用程序根目錄下的環(huán)境文件 .env中 設(shè)置的變量 app_debug 來實現(xiàn)。 **
對于本地環(huán)境, app_debug 的值應(yīng)該為 true, 但對于生產(chǎn),它需要設(shè)置為 false 以隱藏錯誤。
注 - 更改 app_debug 變量后,應(yīng)重新啟動laravel服務(wù)器。
記錄
日志記錄是系統(tǒng)記錄生成錯誤的重要機制。提高系統(tǒng)的可靠性非常有用。laravel支持不同的日志模式,如單日志,日志,系統(tǒng)日志和錯誤日志模式。你可以在 config / app.php 文件中設(shè)置這些模式。
'log' => 'daily'
您可以在 storage / logs / laravel.log 文件中看到生成的日志條目。
創(chuàng)建一個自定義日志文件
要創(chuàng)建自定義日志文件,您應(yīng)該采取以下步驟 -
第1步 - 在此步驟中,您應(yīng)該使用log faade在laravel中創(chuàng)建自定義日志文件。 可以通過在控制器中簡單使用 use 關(guān)鍵字來聲明外觀。它顯示如下 -
use log; class logincontroller extends controller{ public function funcname(request $request){ // log something to storage/logs/laravel.log log::info(['request'=-->$request]);} } ?>
這里,函數(shù)名稱 funcname 將通過在函數(shù)體內(nèi)發(fā)送參數(shù)log :: info來幫助創(chuàng)建日志。
第2步 - 如果需要單獨保存此文件,則應(yīng)在此步驟中執(zhí)行此操作。 為此,您可以在包含日志行之前使用像 usedailyfiles() 這樣的演示函數(shù),如此 處 所示 -
use log; class logincontroller extends controller{ public function funcname(request $request){ // log something to storage/logs/debug.log log::usedailyfiles(storage_path().'/logs/debug.log'); log::info(['request'=-->$request]); } } ?>
所有日志都將在文件 debug.log中 進行跟蹤。日志中記錄的錯誤將對開發(fā)有用。
第3步 - 在這一步中,您處理laravel中的記錄器,其中包含除 給出示例中提到的 log :: info 之外的各種類型。
log::emergency($error); log::alert($error); log::critical($error); log::error($error); log::warning($error); log::notice($error); log::info($error); log::debug($error);
可以包含在日志文件中的錯誤類型包括: 緊急事件,警報,嚴(yán)重錯誤,警告,通知,信息 和 調(diào)試 。
根據(jù)創(chuàng)建的日志,考慮web應(yīng)用程序的改進。