Laravel 集成了Monolog日志函数库,Monolog 支持和提供多种强大的日志处理功能。
1、设置,日志模式
(1)Laravel 提供可立即使用的single、daily、syslog和errorlog日志模式。
例如,如果你想要每天保存一个日志文件,而不是单个文件,则可以在config/app.php配置文件内设置log变量:'log' => 'daily'
'log' => env('APP_LOG', 'single'), //可用配置有:"single", "daily", "syslog", "errorlog" single —— 将日志记录到单个文件中。该日志处理器对应Monolog的StreamHandler。 daily —— 以日期为单位将日志进行归档,每天创建一个新的日志文件记录日志。该日志处理器 对应Monolog的RotatingFileHandler。 syslog—— 将日志记录到syslog中。该日志处理器 对应Monolog的SyslogHandler。 errorlog —— 将日志记录到PHP的error_log中。该日志处理器 对应Monolog的ErrorLogHandler。
(2)当使用「日志模式」时,默认情况下会保存 5 天的日志,你可通过app.php配置文件里的配置项log_max_files来定制日志保存天数:
'log_max_files' => 30
(3)如果你想要完全控制 Monolog,则使用应用程序的configureMonologUsing方法。此方法应该在bootstrap/app.php文件返回$app变量之前被调用:
$app->configureMonologUsing(function($monolog) {
$monolog->pushHandler(...);
});
return $app;
(4)默认情况下,Laravel 对所有的错误级别进行记录,你可以通过定制app.php的log_level设置项来限制错误记录级别。Laravel 会记录大于或者等于你设置的log_level的值,例如:设置log_level为error级别的话,Laravel 会记录error,critical,alert, 和emergency级别的错误。
'log_level' => env('APP_LOG_LEVEL', 'debug'),
(5)日志存储位置:'storage/logs/laravel.log
2、我们在项目中,使用 "log Facades" 来记录日志
use Log; Log::debug(); //记录日志 如: use Log;
Log::debug('ivy', ['name'=>'ivy', 'age'=>30]); Log::info('ivy', ['name'=>'ivy', 'age'=>30]); 在 'storage/logs/laravel.log'中记录: [2019-06-17 16:54:28] local.DEBUG: ivy {"name":"ivy","age":30} [2019-06-17 16:54:28] local.INFO:ivy {"name":"ivy","age":30}
修改 'config/app.php' 中的 "log" 配置为 'daily',会生成:
'storage/logs/laravel-2019-06-17.log'