詳細的介紹查看官網的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信息,爲