详细的介绍查看官网的document:http://www.yiiframework.com/doc/guide/1.1/en/topics.loggingphp
也能够看 Yii 1.1 Application Development Cookbook 这本书很好web
默认的日志是输出到protected/runtime/application.log 浏览器
若是须要修改那么须要在main.php里面增长log配置,以下:服务器
'components' => array(
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array( app
array(
'class'=>'CFileLogRoute',
'levels'=>'trace, info, debug, warn, error, fatal, profile',
'categories'=>'test.*',
'maxFileSize'=>1048576,
'logFile'=>'test.log',
),
//
// 开发过程当中全部日志直接输出到浏览器了,这样不须要登陆服务器看日志了 yii
array(
'class' => 'CWebLogRoute',
'categories' => 'test.*',
'levels' => CLogger::LEVEL_PROFILE,
'showInFireBug' => true,
'ignoreAjaxInFireBug' => true,
),
array(
'class' => 'CWebLogRoute',
'categories' => 'test.* ',
),
array(
'class'=>'CEmailLogRoute',
'levels'=>'error, warning',
'emails'=>'admin@example.com',
),
),
),
),webapp
若是在某处调用了Yii::log("jdkshgds","info",'test.xx');ide
这个log首先被记录在了内存中一个CLogger类的array中,而后会逐一的判断每一个LogRoute,判断是否须要输出,注意是逐一判断,不是其中一个输出下一个就无论了。函数
拿上面的配置来讲:性能
第一个CFileLogRoute,'categories'=>'test.*',levels里包含了info, test.xx知足条件,因此会执行,将这条log输出到test.log中。
YII中日志的基本使用:
能够经过YII提供的Yii::log和Yii::trace进行日志信息的输出
函数定义
日志信息的级别:
使用方法:
Yii::log($message, $level, $category);
Yii::trace($message, $category);
示例:
需先在main.php中进行配置,例子选择将日志存储在文件(系统默认为webapp\protected\runtime\application.log)中,为只存储trace和error级别,过滤以orange开始的log。
在控制器中定义方法并执行,在此为OrangeController控制器
执行之后可在日志文件中看到咱们的trace信息,为