无法在Yii中看到日志文件

时间:2011-11-22 07:19:50

标签: php model-view-controller logging yii

我无法在Yii框架中看到日志文件。默认情况下,它保存在“protected / runtime”中。这是我在main中的配置:

'log'=>array(
            'class'=>'CLoCFileLogRoutegRouter',
            'routes'=>array(
                array(
                    'class'=>'CFileLogRoute',
                    'levels'=>'error, warning, info',
                    'categories'=>'system.*',
                ))),

这就是我记录的方式:

Yii::log("Index Checkout", "profile", 'system.web.CController');
Yii::trace('IndexCheckout', 'system.web.CController');

没有收到任何错误但找不到任何日志文件。

有什么想法吗?感谢。

4 个答案:

答案 0 :(得分:7)

您的日志类CLoCFileLogRoutegRouter可能是错误的名称。它应该是CLogRouter

'log' => array(
    'class' => 'CLogRouter',
        'routes' => array(
            array(
                'class' => 'CFileLogRoute',
                    'levels' => 'error, warning, info',
                    'categories'=>'system.*',
                ),

答案 1 :(得分:7)

即使问题已经回答

请注意Yii在主脚本结束后写日志,所以如果你使用 die()命令终止你的脚本,你永远不会让Yii写下来。要避免此类问题,您应该使用 Yii :: app() - > end()命令终止脚本。

For more information see here

答案 2 :(得分:1)

这很可能是权限问题。运行时目录是否可由Web服务器(Apache)写入?

答案 3 :(得分:1)

您正在将日志配置为仅记录与“错误,警告和信息”相关的消息,

你正在尝试记录,“跟踪”(Yii :: trace)和“profile”级别,这就是为什么你没有得到任何东西。

另外:不要尝试自己记录“个人资料”,有特定的方法,即Yii::beginProfile()Yii::endProfile,详细了解the yii guide