yii怎么手动生成错误日志

yii怎么手动生成错误日志

具体方法如下:

首先配置错误方法,修改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目录下了。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享