【问题标题】:Not able to see the log file in Yii在 Yii 中看不到日志文件
【发布时间】:2011-11-22 07:19:49
【问题描述】:

我在 Yii 框架中看不到日志文件。默认情况下,它保存在“受保护/运行时”中。这是我在 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');

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

有什么想法吗?谢谢。

【问题讨论】:

    标签: php model-view-controller logging yii


    【解决方案1】:

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

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

    【讨论】:

    • 看起来他在一个旧的类名中间输入了一个新的类名,不小心没有先删除它。 :) 我想知道为什么没有报告错误...
    【解决方案2】:

    即使问题已经回答了

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

    For more information see here

    【讨论】:

    • 正确解释您的定义,有原因(die()),解决方案(Yii::app()->end())以及证明(参考框架页面)。这个问题不是关于概念的,它只是一个简单的错误,我认为不需要进一步的信息。
    • 谢谢! exit;die(); 有同样的副作用做
    【解决方案3】:

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

    而您正在尝试记录“跟踪”(Yii::trace)和“配置文件”级别,这就是为什么您没有得到任何东西的原因。

    另外:不要试图自己记录“配置文件”的东西,有特定的方法,即Yii::beginProfile()Yii::endProfile,阅读更多关于配置文件the yii guide

    【讨论】:

      【解决方案4】:

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

      【讨论】:

      • 要添加更多信息,我在 WAMP 上,是的,该目录已经拥有权限。
      猜你喜欢
      • 2019-03-25
      • 2015-09-17
      • 1970-01-01
      • 2018-06-20
      • 2020-05-24
      • 2020-06-30
      • 2013-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多