
程序开发中,经常会进行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评论
暂无评论
评论(0)