我使用yii框架来实现新项目。 我希望在服务器上运行之前看到sql字符串。 我已在配置文件中启用了此代码,但仍然没有结果
array('class'=>'CWebLogRoute',),
在运行网页时,我应该怎么做才能查看sql字符串?
答案 0 :(得分:2)
尝试将它放在main.php(config)中的组件下:
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
'weblogging'=>array(
'class'=>'CWebLogRoute',
'enabled'=>true,
),
),
),
然后它将显示调试信息以及该页面上运行的所有sql。
答案 1 :(得分:1)
您可以使用简单的记录器将字符串记录到文件中:
$file = fopen("my.log", "a+");
fwrite($file, $logString."\r\n");
fclose($file);
答案 2 :(得分:1)
在 config / main.php 中,在db array add之后添加:
'db' => array(
//your db array listing
),
//add following
'log' => array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'error, warning',
),
array(
'class'=>'CWebLogRoute',
'levels'=>'trace',
'categories'=>'system.db.*',
),
),
)
希望有所帮助
答案 3 :(得分:1)
配置数组有components
的密钥,您必须添加log
组件,并且在log
内您应该将CWebLogRoute
声明为路线。您还必须preload
log
组件。
最小示例( project-name / protected / config / main.php ):
return array(
// other configurations
// ...
// preloading 'log' component
'preload'=>array('log'), // this is also necessary
// ...
'components'=>array(
// other components
// ...
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CWebLogRoute'
),
// ... other routes ...
)
),
// ...
)
);
阅读the guide了解有关日志记录的更多提示。