首先配置错误方法,修改errorhandler参数
(相关推荐:yii框架)
在config/web下,默认为site控制器下的error方法
'errorhandler' => [ 'erroraction' => 'site/error', ]
修改为:
'errorhandler' => [ 'erroraction' => 'error/error', ]
我习惯于重新创建一个错误方法,根据个人习惯来。
在error控制器里创建actionerror,如下:
public function actionerror(){ $error = \yii::$app->errorhandler->exception; $error_msg = ''; if($error){ $filed = $error->getfile(); //获取错误文件 $line = $error->getline(); //获取错误行数 $message = $error->getmessage(); //获取错误消息 $code = $error->getcode(); //获取错误码 $log = new filetarget(); $log->logfile = \yii::$app->getruntimepath() . "/log/error.log"; //生成文件到log目录下 $error_msg = $message ." [file:{$filed}][line:{$line}][message:{$message}][code:{$code}][url:{$_server['request_uri']}][post_data:".http_build_query($_post)."]"; $log->messages[] = [ $error_msg, 1, 'applicition', microtime( true ) ]; $log->export(); } return $error_msg; }
这样错误日志就会生成在runtime/log目录下了。
以上就是yii怎么手动生成错误日志的详细内容。
