沃梦达 / 编程问答 / php问题 / 正文

用于调试的 YII 日志记录

YII logging for debugging(用于调试的 YII 日志记录)

本文介绍了用于调试的 YII 日志记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在许多情况下,Xdebug 不适合调试,因为它涉及点击以运行特定的代码行.我想使用类似于 cakePHP 调试功能的东西,让开发人员将类的特定属性的值输出到浏览器.

In many cases, Xdebug is not suitable for debugging as it involves clicks to run to a particular line of codes. I want to use something that is similar to cakePHP debug function for developers to output the value of a particular property of a class to the browser.

我正在使用Yii框架,这是我在main.php中对yii log的配置:

I am using Yii framework and this is my configuration for the yii log in the main.php:

'log'=>array(
    'class'=>'CLogRouter',
        'routes'=>array(
        array(
            'class'=>'CFileLogRoute',
            'levels'=>'trace, info, error, warning, vardump',
        ),
        array(
            'class'=>'CWebLogRoute',
                                'enabled' => YII_DEBUG,
            'levels'=>'error, warning, trace, log, vardump',
            'showInFireBug'=>true,
        ),
    ),
), 

在我定义的控制器之一中,我将此代码用于测试:

In one of my defined controller i put this code to test:

Yii::log("CallFromUserController",'info', 'application');

但是我没有看到这个被打印在萤火虫中.我用了克里斯的例子:

However i don't see this being printed in the firebug. I used Chris's example:

http://chris-backhouse.com/advanced-logging-in-yii/775

推荐答案

我终于找到了解决方案:

I finally managed to find out a solution:

在我的 main.php 中,我这样做了:

In my main.php I did this:

'log' => array(
    'class' => 'CLogRouter',
    'routes' => array(
        array(
            'class' => 'CFileLogRoute',
            'levels' => 'trace, info, error, warning, vardump',
        ),
        // uncomment the following to show log messages on web pages
        array(
            'class' => 'CWebLogRoute',
            'enabled' => YII_DEBUG,
            'levels' => 'error, warning, trace, notice',
            'categories' => 'application',
            'showInFireBug' => false,
        ),
    ),
),

在我的控制器中,我使用了以下代码:

In my controller I used this code:

$a = new array(1,2,3);
Yii::trace(CVarDumper::dumpAsString($a));

申请日志显示在每个页面的下方.

The Application Log is shown below in every page.

这篇关于用于调试的 YII 日志记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:用于调试的 YII 日志记录

基础教程推荐