Tp5 根据情况开启/关闭自动日志记录

Tp5自带的日志记录是所有的异常都会给记录,而且非常详细,

而异常我把它分为两种,一种是自己代码编写错误导致的服务器错误,还有一种是用户通过输入造成的异常

这两种异常如果都给记录日志没必要,如果用户每输入一个导致异常 那就记录一下,那将会有很多的日志

所以在这里先关闭tp5自己的日志记录功能

 1 config.php
 2 
 3 
 4 'log'                    => [
 5         // 日志记录方式,内置 file socket 支持扩展
 6         'type'  => 'test',
 7         // 日志保存目录
 8         'path'  => LOG_PATH,
 9         // 日志记录级别
10         'level' => [],
11     ],

把type改成test就好

下面在我们的自定义异常处理类中创建一个记录日志的方法,在方法中重置log配置记录日志,

 1 //tp的日志默认是关闭的,所以下面是初始化日志配置,在日志中记录错误信息
 2     private function recordErrorLog(Exception $e)
 3     {
 4         log::init([
 5             'type' => 'File',
 6             'path' => LOG_PATH,
 7             'level' => ['error']
 8         ]);
 9         Log::record($e->getMessage(), 'error');
10     }

而在我们自己写的代码中的异常又分为两种

一种是自己已经自定义的异常,一种是还没定义的异常

自己定义的异常信息自己已经表明了,当触发时返回自己定义的信息自己就会很明白哪里错了,所以是不需要记录日志的,

而真正需要记录日志的是那些未知的错误,记录到日志里用来看哪里错了

而在需要记录日志的异常中只需要一句话就好

$this->recordErrorLog($e);

正在学习中,在此记录学习过程中的个人理解,如有错误或更好的理解望指出。

原文地址:https://www.cnblogs.com/zzw555/p/9432751.html