Yii学习之log以及输出数组
Yii可以log信息到文件和web page页面
log的函数是
Yii::log( $message, $level, $catelories )
level可以是
- trace
- info
- warning
- error
categories自己定义,这个用于在配置中做过滤。
例如:
Yii::log( "this is test message", "info", "system.web.controller.test" )
需要在配置文件:
protected/config/main.php
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'error, warning, info',
),
// uncomment the following to show log messages on web pages
array(
'class'=>'CWebLogRoute',
'levels'=>'error, warning, info',
),
),
),
蓝色的部分是log到文件。
文件是在:
protected/runtime/application.log
绿色的部分是配置输入到webpage。
可以将2个同时打开,这样log文件和webpage都会有。
注意这里配置后,并不需要在
weboort/index.php
打开debug的定义,跟这个debug设置并没有关系。
yii的log还能输出数组,不过不是直接输出,例如下面的错误的
$myarr = new array();
Yii::log( $myarr, … );
而是通过Yii提供的
CVarDumper
这个类的dumpAsString来将数组转换为string然后输出
更多这个类的信息请看
所以上面的那个例子中log应该改为:
Yii::log( CVarDumper::dumpAsString( $myarr ), …. );
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.