yii怎么手动生成错误日志

news/2024/7/3 23:03:57


具体方法如下:

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

(相关推荐:yii框架)

在config/web下,默认为site控制器下的error方法

1

2

3

'errorHandler' => [

            'errorAction' => 'site/error',

        ]

修改为:

1

2

3

'errorHandler' => [

            'errorAction' => 'error/error',

        ]

我习惯于重新创建一个错误方法,根据个人习惯来。

在error控制器里创建actionError,如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

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


http://www.niftyadmin.cn/n/2458206.html

相关文章

linux 笔记(3)sudo passwd 设置root用户的密码

刚安装Ubuntu&#xff0c;出现在终端的首行&#xff1a; To run a command as administrator (user "root"), use "sudo <command>". See “man sudo_root” fordetails 译&#xff1a; 运行一个命令作为管理员&#xff08;用户的“根”&#xff09…

php提示Notice: Undefined index解决方法

php提示Notice: Undefined index解决方法 php提示Notice: Undefined index问题,Undefined index:是指你的代码里存在&#xff1a;“变量还未定义、赋值就使用”的错误&#xff0c;这个不是致命错误&#xff0c;不会让你的php代码运行强行中止&#xff0c;但是有潜在的出问题的危…

安装GoAccess 进行网站日志实时分析

为什么80%的码农都做不了架构师&#xff1f;>>> 系统centos 6.8 1、先安装依赖 yum install ncurses-devel geoip-devel 2、wget http://tar.goaccess.io/goaccess-1.2.tar.gz 3、tar -xzvf goaccess-1.2.tar.gz 4、cd /usr/local/goaccess-1.2/ 5、 ./config…

jquery使用serialize()出现中文乱码怎么办

原因【.serialize()】自动调用了encodeURIComponent方法将数据编码了&#xff0c;jquery使用serialize()出现中文乱码的解决办法&#xff1a;调用【decodeURIComponent(XXX,true);】将数据解码。 本教程操作环境&#xff1a;windows7系统、jquery3.2.1版本&#xff0c;该方法适…

记一次crontab中date命令错用导致的问题

问题 我在crontab中添加一条定时任务如下&#xff0c;用于每天把旧日志移到指定目录&#xff1a; 1 0 0 * * * cd /home/vg/odp/log && mv *date -d "-10 day" "%Y%m%d"* archives 然后这个定时任务似乎没有生效。单独执行后面的命令都是成功的…

python入门(八) -- 函数

2019独角兽企业重金招聘Python工程师标准>>> 函数类似于Java中的方法&#xff0c;是组织好的&#xff0c;可重复使用的&#xff0c;用来实现单一&#xff0c;或相关联功能的代码段。 1、函数定义 函数定义的规则&#xff1a; def 函数名&#xff08;参数列表&#x…

八年数据库转型之路:技术易改,匠心永存

作者介绍 吴虞&#xff0c;SQL专家云团队成员&#xff0c;擅长解决SQL Server数据库性能、高可用、负载均衡等问题。 时间过得很快&#xff0c;从在博客上写第一篇文章到现在刚好一年&#xff0c;而自己在数据库这条路上已经走过八年。回想下这八年&#xff0c;感觉总是在“迷茫…

layui数据表格url是什么

layui数据表格url是数据接口&#xff0c;用来接收数据的&#xff0c;其中LayUI数据表格URL默认为Get请求&#xff0c;语句格式如“URL:sypaysrhlist.aspx?action...”。 本教程操作环境&#xff1a;Windows7系统、layui2.4版&#xff0c;该方法适用于所有品牌电脑。 推荐&…