Laravel8学习笔记-日志组件
配置
配置文件 config/logging.php【Laravel8学习笔记-日志组件】默认情况下,Laravel 使用
stack
通道来记录日志信息,stack
通道被用于聚合多个日志通道到单个通道。例:single通道默认写入larave.log文件,daily通道默认写入larave-*.log文件,若配置stack如下
'stack' => [
'driver' => 'stack',
'channels' => ['single','daily'],
]
则日志会同时写入larave.log和larave-*.log文件
日志级别
LOG_LEVEL=debug 日志信息被通道记录所必须达到的最低「级别」emergency、alert、critical、error、warning、 notice、info 和 debug
假设LOG_LEVEL=error,则
Log::debug('An informational message.');
不会记录日志写入日志信息
Log::emergency($error);
Log::alert($error);
Log::critical($error);
Log::error($error);
Log::warning($error);
Log::notice($error);
Log::info($error);
Log::debug($error);
写入上下文信息
Log::info('User failed to login.', ['id' => 123]);
//local.INFO: User failed to login. {"id":123}
写入指定通道
'test' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
],Log::channel('test')->info('Something happened!');
通道自定义
'single' => [
'driver' => 'single',
'tap' => [App\Logging\CustomizeFormatter::class],
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
注:所有「tap」类都通过 服务容器解析,所以他们需要的所有构造函数依赖都会被自动注入。
getHandlers() as $handler) {
$handler->setFormatter(new LineFormatter(
'[%datetime%] %channel%.%level_name%: %message% %context% %extra%'
));
}
}
}
推荐阅读
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- 由浅入深理解AOP
- 继续努力,自主学习家庭Day135(20181015)
- python学习之|python学习之 实现QQ自动发送消息
- Android中的AES加密-下
- 一起来学习C语言的字符串转换函数
- 定制一套英文学习方案
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- 《深度倾听》第5天──「RIA学习力」便签输出第16期
- 如何更好的去学习