温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

yii手动生成错误日志的方法

发布时间:2020-12-11 13:51:45 来源:亿速云 阅读:185 作者:小新 栏目:编程语言

这篇文章主要介绍了yii手动生成错误日志的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

具体方法如下:

首先配置错误方法,修改errorHandler参数

在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手动生成错误日志的方法内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI