首页 > php框架 > YII > 正文

yii怎么手动生成错误日志

王林
发布: 2020-12-10 16:48:16
转载
3493 人浏览过

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目录下了。

以上是yii怎么手动生成错误日志的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:csdn.net
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板