本文實例講述了Yii框架實現記錄日志到自定義文件的方法。分享給大家供大家參考,具體如下:
默認情況下,Yii::log($msg, $level, $category)
會把日志記錄到runtime/application.log文件中
日志格式如下:
[時間] - [級別] - [類別] - [內容]
2013/05/03 17:33:08 [error] [application] test
但有時候需要把某些特定的日志放到特定的文件中,比如交易失敗的日志,需要和其他日志區分開來單獨記錄。
在Yii中可以通過配置不同的CLogRouter來解決。
你需要先了解Yii的日志機制,Yii的日志功能有CLogger和CLogRouter兩部分,
其中CLogger負責記錄日志數據在內存中,而CLogRouter則決定如何處理這些日志數據,如記錄到文件或數據庫,或發送郵件等
其中的CFileLogRoute就是用來以文件的形式來處理日志數據的。那么很自然的,通過配置不同的CFileLogRoute就可以把日志記錄到不同的日志文件中。
具體配置如下:
'log' => array( 'class' => 'CLogRouter', 'routes' => array( array( 'class' => 'CFileLogRoute', 'levels' => 'error, warning', ), array( 'class' => 'CFileLogRoute', 'levels' => 'error, warning', 'categories'=> 'orders.*', 'logFile'=> 'orders.log', ),
在需要記錄訂單錯誤的地方,添加如下代碼:
Yii::log('your message', 'error', 'orders');
更多關于Yii相關內容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。