Laravel 集成了 Monolog 日誌函數庫,Monolog 支持和提供多種強大的日誌處理功能。
1、設置,日誌模式
Laravel 提供可立即使用的 single
、daily
、syslog
和 errorlog
日誌模式。例如,如果你想要每天保存一個日誌文件,而不是單個文件,則可以在 config/app.php
配置文件內設置 log
變量:
'log' => 'daily'
當使用「日誌模式」時,默認情況下會保存 5 天的日誌,你可通過 app.php
配置文件裏的配置項 log_max_files
來定製日誌保存天數:
'log_max_files' => 30
如果你想要完全控制 Monolog,則使用應用程序的 configureMonologUsing
方法。此方法應該在bootstrap/app.php
文件返回 $app
變量之前被調用:
$app->configureMonologUsing(function($monolog) {
$monolog->pushHandler(...);
});
return $app;
默認情況下,Laravel 對所有的錯誤級別進行記錄,你可以通過定製 app.php
的 log_level
設置項來限制錯誤記錄級別。Laravel
會記錄大於或者等於你設置的 log_level
的值,例如:設置 log_level
爲 error
級別的話,Laravel
會記錄 error, critical, alert, 和 emergency 級別的錯誤。
'log_level' => env('APP_LOG_LEVEL', 'debug'),
1、日誌寫入
Laravel
日誌工具在強大的 Monolog 函數庫上提供多一層簡單的功能。Laravel
默認爲應用程序創建每日的日誌文件並保存在 storage/logs
目錄。你可以使用 Log
facade 來將信息寫入到日誌上:
use Log;
Log::info('Showing user profile for user: '.$id);
日誌工具提供了定義在 RFC 5424 的八個級別: emergency、alert、critical、error、warning、notice、info 和debug。
Log::emergency($error);
Log::alert($error);
Log::critical($error);
Log::error($error);
Log::warning($error);
Log::notice($error);
Log::info($error);
Log::debug($error);