【问题标题】:Yii don't understand how to log a messageYii 不明白如何记录消息
【发布时间】:2012-02-29 21:24:16
【问题描述】:

我关注了这个tutorial,但我还是去刷新网页,然后去文件,仍然找不到我发送的日志消息 我在控制器中写了以下行:

Yii::log("Index Checkout",CLogger::LEVEL_ERROR);

还有我的配置:

'log' => array(
            'class' => 'CLogRouter',
            'routes' => array(
                array(
                    'logFile'=>'trace.log',
                    'class' => 'CFileLogRoute',
                    'levels' => 'error,info, warning',
                ),
            // uncomment the following to show log messages on web pages
            /*
              array(
              'class'=>'CWebLogRoute',
              ),
             */
            ),

【问题讨论】:

  • 除非您没有正确结束应用程序,否则这些设置将毫无用处。消息路由在请求结束时完成。此外,没有提供日志文件的路径,它只是一个文件名。也许您正在查看错误的文件?
  • 不,它确实创建了文件,我实际上是在检查它是否有效并且确实有效

标签: php logging yii


【解决方案1】:

写入日志的正确方法是:

Yii::log($message, $level, $category);

但重点是 $category 不能为空

上面的示例有效,因为消息写在类别中,然后类别不为空,但它写的是空消息。它写了类别,所以它看起来像消息..但它不是。

【讨论】:

    【解决方案2】:

    我在使用 YII 记录器时遇到了类似的问题。奇怪,但我有点搞乱参数顺序。

    这对我有用:

    <?php
    
    Yii::log('', CLogger::LEVEL_ERROR, 'Message Here...');
    

    【讨论】:

    • 我是Yii::log($message, $level, $category);
    • 我同意,正确的参数顺序是您提供的参数顺序,但我在上面发布的示例由于某种原因运行良好。
    • @otar 实际上是的,它起作用了,我知道这是不对的,但它帮助我进行了一些调试,谢谢伙计
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多