Yii2将当前请求执行的sql记录到日志中

程序开发中,经常会进行sql语句的调试,不能每次都要使用`getRawSQL()`去输出sql语句,显得太麻烦了,直接开启sql日志记录方便查询。

Yii2将当前请求执行的sql记录到日志中

程序开发中,经常会进行sql语句的调试,不能每次都要使用getRawSQL()去输出sql语句,显得太麻烦了,直接开启sql日志记录方便查询。

1、开始调试模式

在入口文件index.php中修改,如果没有就新增

defined('YII_DEBUG') or define('YII_DEBUG', true);
//设置日志记录级别,YII_TRACE_LEVEL的数字越大,信息越清楚
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);

2、修改配置文件,高级版是main.php,基础版是web.php

web.php中的components -> log-> targets添加如下代码

[
    'class' => 'yii\log\FileTarget',
    'levels' => ['error', 'warning','info'],
    'logVars'=>[],
    //表示以yii\db\或者app\models\开头的分类都会写入这个文件
    'categories'=>['yii\db\*','app\models\*'],
    //表示写入到文件
    'logFile'=>'@runtime/../runtime/logs/YIISQL_'.date('y_m_d').'.log',
],

3、log内容效果

2019-10-18 10:25:20 [127.0.0.1][-][-][info][yii\db\Command::query] SELECT * FROM `admin_member`
    in D:\PHPTool\WWW\test\myClass\User.php:54
    in D:\PHPTool\WWW\test\myClass\User.php:45
    in D:\PHPTool\WWW\test\controllers\ControllerBase.php:28
2019-10-18 10:25:20 [127.0.0.1][-][-][info][yii\db\Connection::open] Opening DB connection: mysql:host=127.0.0.1;port=3306;dbname=xtctest
    in D:\PHPTool\WWW\test\myClass\User.php:54
    in D:\PHPTool\WWW\test\myClass\User.php:45
    in D:\PHPTool\WWW\test\controllers\ControllerBase.php:28
2019-10-18 10:25:20 [127.0.0.1][-][-][info][yii\db\Command::query] SHOW FULL COLUMNS FROM `admin_member`
    in D:\PHPTool\WWW\test\myClass\User.php:54
    in D:\PHPTool\WWW\test\myClass\User.php:45
    in D:\PHPTool\WWW\test\controllers\ControllerBase.php:28
上一篇:Pyhon爬虫Scrapy设置IP代理 下一篇:php项目中调用Linux命令zip和unzip

评论

评论(0)

暂无评论