thinkphp5 日志记录log修改

日常中,各种日志的错误信息都会被记录,但可能所记录的并不是我们所需要的,所以我们可以自定义哪些地方的日志被记录
  • 本文中的代码使用了http://www.xiuyuanxi.com/it/web/1558929693.html中的,所以不再往上放置

关掉默认的日志写入

application-config.php中找到
'log'                    => [
        // 日志记录方式,内置 file socket 支持扩展
        'type'  => 'file',
 'type'  => 'file',改为 'type'  => 'test',
这是系统提供的关闭日志写入的方法

ExceptionHandler.php内容修改

添加记录日志的方法
private function recordErrorLog(Exception $e)
    {
        Log::init([
           'type' => 'File',
            'path' => LOG_PATH,
            'level' => ['error']
        ]);
        Log::record($e->getMessage(),'error');
    }
找到文件中的
$this->code = 500;
            $this->msg = '服务器内部错误';
            $this->errorCode = 999;
在下面添加
$this->recordErrorLog($e);
这样便将错误传入刚才我们写的方法中
要注意的问题,我在写'path' => LOG_PATH时,写成'path' => ‘LOG_PATH’,结果死活不成功,作者这有的这样写,有的那样写,真是要老命呀。

BaseValidate.php

该文件用于对传入参数进行处理,并会抛出一定的错误提示
throw new Exception('内部错误'); 便是我们往日志文件中抛入的错误
<?php
namespace app\api\validate;
use think\Exception;
use think\Validate;

class BaseValidate extends Validate
{
    public function goCheck()
    {
        $request = input('param.');

        $result = $this->check($request);
        
        if(!$result){
            throw new Exception('内部错误');
        }else{
            return true;
        }
    }
}

输入测试

  • 输入http://127.0.0.1/banner/2 返回
{"msg":"Banner不存在","error_code":40000,"request_url":""}
  • 输入http://127.0.0.1/banner/2.1 返回
{"msg":"服务器内部错误","error_code":999,"request_url":""}
在上面,Banner不存在这个错误将不被记录,只有服务器内部错误才被记录

修改Log日志存放位置

默认存放在runtime-log中,但我们可以改成自己需要的
public-index.php
  • define('APP_PATH', __DIR__ . '/../application/');下面添加
  • define('LOG_PATH', __DIR__ . '/../log/'); 这样便在根目录下

日志自动清理

V5.0.16+版本开始,支持文件日志的自动清理功能,你可以设置
'max_files' => 30
则日志文件最多只会保留30个,超过会自动清理较早的日志文件,避免日志文件长期写入占满磁盘空间。

日志级别

ThinkPHP对系统的日志按照级别来分类,并且这个日志级别完全可以自己定义,系统内部使用的级别包括:

log 常规日志,用于记录日志
error 错误,一般会导致程序的终止
notice 警告,程序可以运行但是还不够完美的错误
info 信息,程序输出信息
debug 调试,用于调试信息
sql SQL语句,用于SQL记录,只在数据库的调试模式开启时有效

评论

大侠名号:   验证暗号: 点击我更换图片

修远兮

在这里记录每一点自己需要的知识

添加创始人微信,一起交流心得

推荐文章RECOMMEND