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);