在yii框架中显示堆栈跟踪

时间:2012-08-31 05:59:39

标签: php yii yii-extensions

当执行中发生错误时,我们会得到堆栈跟踪,如下图所示。

see this

我希望每次执行页面时都会在页面底部看到此跟踪。 (即使没有错误),这样我就可以找出所运行的页面以及框架内发生的事情

如何激活它?

非常感谢

4 个答案:

答案 0 :(得分:10)

“错误情况”之外的“堆栈跟踪”没有多大意义,但您可以通过启用调试模式来查看Yii的用途。在index.php中添加

defined('YII_DEBUG') or define('YII_DEBUG',true);

并在主Yii配置数组的log组件(config / main.php)中,在routes组件下添加此数组:

            array(
                'class'=>'CWebLogRoute',
                'enabled' => YII_DEBUG,
            ),

这应该会告诉你你想要什么。

请务必从生产代码中删除YII_DEBUG行!

答案 1 :(得分:2)

Yii调试工具栏中提供了大量跟踪信息:http://www.yiiframework.com/extension/yii-debug-toolbar/

可能是你的目标

答案 2 :(得分:2)

您可以在项目config/main.php

中打开这些代码行
'log'=>array(
        'class'=>'CLogRouter',
        'routes'=>array(
            array(
                'class'=>'CFileLogRoute',
                'levels'=>'error, warning',
            ),
            // uncomment the following to show log messages on web pages

             array(
                'class'=>'CWebLogRoute',
            ),

        ),
    ),

答案 3 :(得分:0)

如果在配置文件中定义了文件日志路由,则可以在运行时目录中看到日志文件中的日志。

文件日志路由定义如下:

...
'routes'=>array(
                array(
                    'class'=>'CFileLogRoute',
                    'levels'=>'trace, info',
                    'categories'=>'system.*',
                ),
         )