用于调试的 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.
相关文章