YII 提供了一個(gè)靈活可擴(kuò)展的日志功能。記錄的日志 可以通過日志級(jí)別和信息分類進(jìn)行歸類。? ? ? ? ? ? ? ? ? ? ?(推薦學(xué)習(xí):yii框架)
通過使用級(jí)別和分類過濾器,所選的信息還可以進(jìn)一步路由到不同的目的地,例如一個(gè)文件,Email,瀏覽器窗口等。
信息可以通過 Yii::log 或 Yii::trace 記錄。其 區(qū)別是后者只在當(dāng)應(yīng)用程序運(yùn)行在 調(diào)試模式(debug mode) 中時(shí)才會(huì)記錄信息。
Yii::log($message,?$level,?$category); Yii::trace($message,?$category);
當(dāng)記錄信息時(shí),我們需要指定它的分類和級(jí)別 分類是一段格式類似于 路徑別名 的字符串。 例如,如果一條信息是在 CController 中記錄的,我們可以使用 system.web.CController 作為分類。信息級(jí)別應(yīng)該是下列值中的一種:
trace: 這是在 Yii::trace 中使用的級(jí)別。它用于在開發(fā)中 跟蹤程序的執(zhí)行流程。
info: 這個(gè)用于記錄普通的信息。
profile: 這個(gè)是性能概述(profile)。下面馬上會(huì)有更詳細(xì)的說明。
warning: 這個(gè)用于警告(warning)信息。
Error: 這個(gè)用于致命錯(cuò)誤(fatal error)信息。
雖然開啟log影響效率(讀寫文件),所以生產(chǎn)環(huán)境通常會(huì)禁用log 但是有些必要信息我們往往有需要記錄下來,比如支付日志,那么這就產(chǎn)生了新的需求: 不同信息記錄到不同日志文件中。
//在需要記錄日志的地方先賦值log文件地址: Yii::$app->log->targets[0]->logFile?=?Yii::getAlias('@runtime').DIRECTORY_SEPARATOR.'logs'.DIRECTORY_SEPARATOR.'app2.log'; Yii::warning($message);