如果你嫌Yii原生的CWebLog路由在页面下生成的调试信息太丑太乱,那么你一定得试试这个extension——yii-debug-toolbar。
先来预览一下效果吧:
安装之后右上角会出现一个悬浮的“bug”
点击之后出现侧边栏,里面的分类一清二楚:
我们打开一个sql看看:
各种信息一清二楚,如果你这里显示的是No SQL queries were recorded during this request or profiling the SQL is DISABLED.那么你需要配置:
'db'=>array( 'connectionString' => 'mysql:host=localhost;dbname=myDB', 'emulatePrepare' => true, 'username' => 'myUsername', 'password' => 'myPwd', 'charset' => 'utf8', 'enableProfiling'=>true, ),
有了这个extension一下子就爱上了调试^_^)y
另外我发现这个extension不支持categories和levels,解决方案是注释掉YiiDebugToolbarRoute.php的123行和124行:
$this->categories = ''; $this->levels='';
但是这样做了之后有可能会影响到整个插件的追踪,比如说'categories' => 'system.db.*',之后仍然无法追踪sql语句
知识共享署名-非商业性使用-相同方式共享:码农场 » Yii调试的艺术——利用yii-debug-toolbar替代原生CWebLog
他自己实现collectLogs函数,只要将对应参数传参就好。。。
public function collectLogs($logger, $processLogs=false)
{
$logs = $logger->getLogs($this->levels,$this->categories,$this->except);