Yii2框架中日志的使用方法分析
本文實例講述了Yii2框架中日志的使用方法。分享給大家供大家參考,具體如下:
Yii2和Yii1.x的區(qū)別
Yii2里面日志的使用方法和Yii 1.x并不相同,
在Yii 1.x中,記錄日志的方法為
Yii::log($message, $level, $category); Yii::trace($message, $category);
后者僅在調(diào)試模式下記錄日志。
這里的log方法是YiiBase的靜態(tài)方法。
在Yii2中,面向?qū)ο蟮脑O計貫徹得更加徹底,日志記錄功能被轉(zhuǎn)移到Logger類中,并支持多種輸出目標(Targets)。
Yii2中的日志使用方法
為了記錄日志,你首先需要獲取Logger類單一實例,然后調(diào)用該類的公有日志記錄方法:
Yii::getLogger()->log($msg, $level, $category)
實例如下:
Yii::getLogger()->log(“your site has been hacked”, Logger::LEVEL_ERROR) //默認category為application即應用程序級別的日志
此外Yii2提供了一些快捷方法:
Yii::trace() 用于開發(fā)調(diào)試時記錄日志,需要把 YII_DEBUG 設置為 true.
Yii::error() 用于記錄不可恢復的錯誤
Yii::warning() 一些警告信息
Yii::info() 一些系統(tǒng)行為記錄如管理員操作提示
Yii2定制日志輸出目標
要定制目標,比如想在發(fā)生不可恢復錯誤時同時記錄文件和發(fā)送郵件,可定制如下:
[
'bootstrap' => ['log'], // ensure logger gets loaded before application starts
'components' => [
'log' => [
'targets' => [
'file' => [
'class' => 'yii\log\FileTarget',
'levels' => ['trace', 'info'],
'categories' => ['yii\*'],
],
'email' => [
'class' => 'yii\log\EmailTarget',
'levels' => ['error', 'warning'],
'message' => [
'to' => ['admin@techbrood.com', 'support@techbrood.com'],
'subject' => 'New example.com log message',
],
],
],
],
],
]
更多日志及調(diào)試器內(nèi)容,請參見Yii2權威指南中文版
更多關于Yii相關內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優(yōu)秀開發(fā)框架總結》、《smarty模板入門基礎教程》、《php面向?qū)ο蟪绦蛟O計入門教程》、《php字符串(string)用法總結》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。
相關文章
PHP設計模式之觀察者模式(Observer)詳細介紹和代碼實例
這篇文章主要介紹了PHP設計模式之觀察者模式(Observer)詳細介紹和代碼實例,需要的朋友可以參考下2014-04-04
如何利用預加載優(yōu)化Laravel Model查詢詳解
這篇文章主要給大家介紹了關于如何利用預加載優(yōu)化Laravel Model查詢的相關資料,文章通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。2017-08-08
thinkphp5?操作redis?實現(xiàn)文章的熱度排行和點贊排行的示例
本文主要介紹了thinkphp5?操作redis?實現(xiàn)文章的熱度排行和點贊排行的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-04-04
php數(shù)組轉(zhuǎn)換js數(shù)組操作及json_encode的用法詳解
php數(shù)組轉(zhuǎn)換js數(shù)組操作及json_encode的用法。需要的朋友可以過來參考下,希望對大家有所幫助2013-10-10

