关闭BUG模式,异常日志记录了两次,HttpException异常,BaseException异常也都记录到日志里

来源:6-2 固有的处理异常的思维模式与流程

小新在编程

2017-08-26

  • 在ExceptionHandler类中的render方法有记录日志,而TP框架在捕获异常的方法\think

\Error::appException()也记录了异常日志,这就会出现异常日志被记录了两个次。

  • 比如我修改了model中的一个方法,这个方法是不存在的,错误被记录了两次。

[ 2017-08-26T18:55:17+08:00 ] 127.0.0.1 127.0.0.1 GET /api/v1/banner/1
[ error ] [0]method not exist:think\db\Query->imgs
[ error ] method not exist:think\db\Query->imgs
  • HttpException异常也被记录了下来,而这个异常官网建议不要记录。应该把重构的render方法中记录日志的方法删除掉,这样就不会重复记录日志。

  • BaseException异常也记录到了日志里,覆盖ignoreReport属性,把不要写入日志的异常加入就可以,比如这样:

protected $ignoreReport = [
    '\\think\\exception\\HttpException',
    '\\app\\lib\\exception\\BaseException',
];
  • 这是我在操作中的遇到的一些问题,不知道是否正确

写回答

1回答

7七月

2017-08-27

课程里的做法是关闭了 系统的日志记录的。TP这里的日志记录设计的不好,他不是个开关,强行开启。我当时也是找了很多中方法才把系统的关闭掉的。方法课程里都演示了,课程里的日志就只记录了一份。

0
0

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4805 学习 · 4382 问题

查看课程