为什么会有记录错误日志的存在?
因为在开发环境下我们发现异常可以及时的处理掉错误,但是项目一旦上线了,生产环境的代码是处于封存的状态,只有等到下一个版本开发好了之后才能去更改生产环境的代码,所以排查生产环境错误的最好的方法还是日志的方法。
tp5文档中对日志的操作
- tp5是有自动记录日志的功能,它默认也是开启的,它记录的位置在
runtime\log
文件夹中。
我们可以通过config.php中
然后去thinkphp中的base.php中找到日志是记录在runtime文件夹下的。
- 更改日志记录的位置,去index.php里面重新定义日志记录的位置在根目录下的log文件夹内
利用postman 发送请求,目录下自动的就会生成一个log文件夹
- 关闭tp5默认的记录日志的行为,去config.php里面将file改为test就关闭了tp5默认的记录日志的行为。
- 在ExceptionHandler.php中将服务器的错误记录到日志中
/*
* 将异常写入日志
*/
private function recordErrorLog(Exception $e) {
//因为在config .php中把日志的自动记录设置为test就是关闭了tp5默认的日志机制
//所以现在要记录服务器的错误异常到服务器的时候就要初始化日志机制。
Log::init([
'type' => 'File',
'path' => LOG_PATH,
'level' => ['error']
]);
Log::record($e->getMessage(), 'error');
//将错误异常的日志级别设置为error
}
然后在render函数里面服务器错误的时候调用日志记录函数来记录服务器的错误异常。