日志文件是每个项目中的必需品,极大的方便了我们记录和解决问题,但是在使用的过程中也会遇到一些麻烦,比如写日志的地方特别多,日志很乱,其实这些问题框架中都有对应的解决办法
首先我们需要知道几个文件
- /config/logging.php 这个文件是laravel 日志的配置文件,我们主要看 channels这个数组中的内容,内容太多,我保留了其中部分内容
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['daily'],
'ignore_exceptions' => false,
],
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'days' => 14,
],
],
可以看到,里面有很多的参数设置,那么这些参数都是什么意思呢? 这里我来具体分析一下
driver => 'stack'
这个配置的意思是:使用stack 通道来驱动日志文件的操作,laravel提供了8个不同的通道,这里我只讲其中常用的3个
| 名称 | 描述 |
|---|---|
| stack | 一个便于创建『多通道』通道的包装器 |
| single | 单个文件或者基于日志通道的路径 (StreamHandler) |
| daily | 一个每天轮换的基于 Monolog 驱动的 RotatingFileHandler |
'path' => storage_path('logs/laravel.log')
这个配置的意思是:日志存放路径,这里的路径为storage/logs/laravel.log
'level' => 'debug',
这个配置指的是日志被写入的最低级别,只有在使用了syslog 和 slack驱动下才会用到这个配置,该配置下有emergency、alert、 critical、 error、 warning、 notice、 info 和 debug。 这几个级别
这里我们以一个需求举例:我们需要为用户注册单独写一个日志文件,文件以日期划分
在这里我们需要注意到2个点。
- 单独建立日志文件
- 日志文件根据日期划分
需求明确以后,我们开始日志文件的创建
- 在/config/logging.php 的
channels写入配置信息
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['daily'],
'ignore_exceptions' => false,
],
'register' => [
'driver' => 'driver',
'path' => storage_path('logs/register.log'),
],
.....
],
在写好配置文件后,我们需要在项目中去运用到
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Log;
class register extends Controller
{
public function addUser(){
....
//channel:调用指定通道,info:写入普通信息
Log::channel('register')->info('注册成功了');
}
}
上面的代码将会在项目的 storage/logs下生成 register-2020-04-27.log文件
并在里面写入
[2020-04-27 09:12:48] local.INFO: 注册成功了
版权声明:本文为qq_37167546原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。