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);
正在学习中,在此记录学习过程中的个人理解,如有错误或更好的理解望指出。