laravel的monolog使用

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'


猜你喜欢

转载自www.cnblogs.com/ivy-zheng/p/11042800.html