【求助】线上关掉了debug,如果报错,应该怎么去查日志? [ 2.0 版本 ]
线上有一个表不存在,然后如果开了debug,会报这样的错(这个错误是我线下测出来的)
但是线上没开debug,如果下次出现这个样的问题,我该怎么去找日志呢?
萌新求指点!!!
沃毕尼闷兜率 补充于 2019-06-05 10:35
总结问题就是:关闭debug的情况下,怎么获取exception报错?
沃毕尼闷兜率 补充于 2019-06-05 11:15
翻遍了网上的各种教程,最后终于找到答案了
什么情况下log日志会记录?是yii2原生的代码里写了:Yii::error();这种类似的打日志的代码,或者你自己在自己的业务逻辑里写Yii::error()
不然都会有log日志
而我这个问题,其实还没涉及到日志层面,因为只是一个exception,是一个报错,至于这个错误你到底写不写到日志里,那是需要你动手操作的。
所以我看了下错误处理,里面有一个errorHandler,组件里面配置
'errorHandler' => [
'errorAction' => 'site/error',
]
这样之后,每次exception报错,都会去到site控制器,actionArror方法,去渲染错误页面,在这个action里面
Yii::error(Yii::$app->errorHandler->exception->getMessage());
捕获异常,记录到日志上即可
这样,凡是出现了异常,如果开了debug,就直接给你抛出了异常页面,如题中的截图
如果关闭了debug,就会把这个exception的内容记录到日志里面去。
完结,撒花!!
共 2 个回答
沃毕尼闷兜率
注册时间:2017-05-08
最后登录:2020-01-06
在线时长:11小时20分
最后登录:2020-01-06
在线时长:11小时20分
- 粉丝1
- 金钱30
- 威望0
- 积分140