首页
学习
活动
专区
圈层
工具
发布

Yii剖面
EN

Stack Overflow用户
提问于 2014-11-15 17:36:11
回答 1查看 1.6K关注 0票数 0

我试图在Yii中设置DB分析,因为我们在处理大量数据时遇到了一些问题。我使用下面的说明来设置它:YII1.1:为DB分析配置CWebLogRoute

下面是我的代码

index.php

代码语言:javascript
复制
defined('YII_DEBUG') or define('YII_DEBUG',true );
//show profiler
defined('YII_DEBUG_SHOW_PROFILER') or define('YII_DEBUG_SHOW_PROFILER',true);
//enable profiling
defined('YII_DEBUG_PROFILING') or define('YII_DEBUG_PROFILING',true);
//trace level
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',0);
//execution time
defined('YII_DEBUG_DISPLAY_TIME') or define('YII_DEBUG_DISPLAY_TIME',false);

config/main.php

代码语言:javascript
复制
'db'=>array(
        'connectionString' => 'mysql:host=******;dbname=******',
        'emulatePrepare' => true,
        'username' => '******',
        'password' => '******',
        'charset' => 'utf8',
        'enableProfiling' => YII_DEBUG_PROFILING,
    ),
    'authManager'=>array(
        'class'=>'DbAuthManager',
        'connectionID'=>'db',
        'defaultRoles'=>array('guest')
    ),
    'errorHandler'=>array(
        'errorAction'=>$errorHandler,

    ),
    'log'=>array(
        'class'=>'CLogRouter',
        'routes'=>array(
            array(
                'class'=>'CFileLogRoute',
                'enabled' =>YII_DEBUG_SHOW_PROFILER,
                'levels'=>'error, warning',
            ),
        ),
    ),

在设置完所有这些之后,对于config/main.php文件中使用的常量,我得到了两个“未定义常量”错误。

因为这不起作用,我试着把它们硬编码为真,错误就消失了,但什么也没发生。当我尝试CWebLogRoute时,我看不到屏幕上的任何内容,当我尝试CFileLogRoute时,我没有看到任何写入Yii日志的内容。

对于为什么这不像预期的那样起作用,有什么想法吗?还是我错过了输出的方向?

提前感谢您的帮助!

Yii版本: 1.1.13

PHP: 5.5.3

阿帕奇

MySQL

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-15 17:42:06

您需要指示日志DB,如下所示:

代码语言:javascript
复制
'log'=>array(
    'class'=>'CLogRouter',
    'routes'=>array(
        array(
            'class'=>'CWebLogRoute',
            'enabled' =>TRUE,
            'categories' => 'system.db.*',
        ),
    ),
), 

您还需要删除'levels'=>'error, warning',行,它只记录errorswarnings

您还可以使用CFileLogRouteCWebLogRoute,如下所示:

代码语言:javascript
复制
'log'=>array(
    'class'=>'CLogRouter',
    'routes'=>array(
        array(
            'class'=>'CWebLogRoute',
            'enabled' =>TRUE,
            'categories' => 'system.db.*',
        ),
        array(
            'class'=>'CFileLogRoute',
            'enabled' =>TRUE,
            'categories' => 'system.db.*',
        ),
    ),
), 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26948698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档