我试图在Yii中设置DB分析,因为我们在处理大量数据时遇到了一些问题。我使用下面的说明来设置它:YII1.1:为DB分析配置CWebLogRoute
下面是我的代码
index.php
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
'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
发布于 2014-11-15 17:42:06
您需要指示日志DB,如下所示:
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CWebLogRoute',
'enabled' =>TRUE,
'categories' => 'system.db.*',
),
),
), 您还需要删除'levels'=>'error, warning',行,它只记录errors和warnings。
您还可以使用CFileLogRoute和CWebLogRoute,如下所示:
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CWebLogRoute',
'enabled' =>TRUE,
'categories' => 'system.db.*',
),
array(
'class'=>'CFileLogRoute',
'enabled' =>TRUE,
'categories' => 'system.db.*',
),
),
), https://stackoverflow.com/questions/26948698
复制相似问题