YII提供了一個強(qiáng)大的日志框架,這個框架具有高度的可定制性和可擴(kuò)展性。使用這個框架, 你可以輕松地記錄各種類型的消息,過濾它們, 并且將它們收集到不同的目標(biāo),諸如文件,數(shù)據(jù)庫,郵件。
使用Yii日志框架涉及下面的幾個步驟:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(推薦學(xué)習(xí):yii教程)
在你代碼里的各個地方記錄?log messages;
在應(yīng)用配置里通過配置?log targets?來過濾和導(dǎo)出日志消息;
檢查由不同的目標(biāo)導(dǎo)出的已過濾的日志消息(例如:Yii debugger)。
日志消息?
記錄日志消息就跟調(diào)用下面的日志方法一樣簡單:
Yii::trace():記錄一條消息去跟蹤一段代碼是怎樣運行的。這主要在開發(fā)的時候使用。
Yii::info():記錄一條消息來傳達(dá)一些有用的信息。
Yii::warning():記錄一個警告消息用來指示一些已經(jīng)發(fā)生的意外。
Yii::Error():記錄一個致命的錯誤,這個錯誤應(yīng)該盡快被檢查。
主要用法:
'log'?=>?[ ????'traceLevel'?=>?YII_DEBUG???3?:?0, ????'targets'?=>?[ ????????'error'?=>?[ ????????????'class'?=>?yiilogFileTarget::class, ????????????'levels'?=>?['error',?'warning'], ????????????'enableRotation'?=>?false, ????????????'logVars'?=>?[], ????????], ????????'article'?=>?[ ????????????'class'?=>?'yiilogFileTarget', ????????????'categories'?=>?['pay'], ????????????'levels'?=>?['error',?'warning','info'], ????????????'logVars'?=>?['*'], ????????????'logFile'?=>?'@runtime/logs/'.date('Y-m-d').'_article.log', ????????????'prefix'?=>?function?($message)?{ ????????????????$user?=?Yii::$app->has('user',?true)???Yii::$app->get('user')?:?null; ????????????????$userID?=?$user???$user->getId(false)?:?'-'; ????????????????return?"[$userID]"; ????????????}, ????????????'enabled'?=>?true ????????], ????????'order'?=>?[ ????????????'class'?=>?'yiilogFileTarget', ????????????'categories'?=>?['order'], ????????????'levels'?=>?['error',?'warning'], ????????????'logVars'?=>?['*'], ????????????'logFile'?=>?'@runtime/logs/order.log', ????????], ????], ], Yii::info('start?calculating?average?revenue',?'pay');
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END