yii2使用 db log
生活随笔
收集整理的這篇文章主要介紹了
yii2使用 db log
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在本地測試的時候,輸出log,還是輸出到db中比較順手。
配置過程:
1.加入log組件的配置:
'log' =>[# 追蹤級別# 消息跟蹤級別# 在開發的時候,通常希望看到每個日志消息來自哪里。這個是能夠被實現的,通過配置 log 組件的 yii\log\Dispatcher::traceLevel 屬性, 就像下面這樣:'traceLevel' => YII_DEBUG ? 3 : 0,# 通過 yii\log\Logger 對象,日志消息被保存在一個數組里。為了這個數組的內存消耗, 當數組積累了一定數量的日志消息,日志對象每次都將刷新被記錄的消息到 log targets 中。 你可以通過配置 log 組件的 yii\log\Dispatcher::flushInterval 屬性來自定義數量'flushInterval' => 1,'targets' => ['db' =>[//'levels' => ['warning'],'categories' => ['appadmin'],#'class' => 'yii\log\FileTarget','class' => 'yii\log\DbTarget',# 當 yii\log\Logger 對象刷新日志消息到 log targets 的時候,它們并 不能立即獲取導出的消息。相反,消息導出僅僅在一個日志目標累積了一定數量的過濾消息的時候才會發生。你可以通過配置 個別的 log targets 的 yii\log\Target::exportInterval 屬性來 自定義這個數量,就像下面這樣:'exportInterval' => 1,# 輸出文件//'logFile' => '@app/runtime/logs/appadmin.log','logTable' => '{{%system_log}}',# 你可以通過配置 yii\log\Target::prefix 的屬性來自定義格式,這個屬性是一個PHP可調用體返回的自定義消息前綴//'prefix' => function ($message) {// return $message;//},# 除了消息前綴以外,日志目標也可以追加一些上下文信息到每組日志消息中。 默認情況下,這些全局的PHP變量的值被包含在:$_GET, $_POST, $_FILES, $_COOKIE,$_SESSION 和 $_SERVER 中。 你可以通過配置 yii\log\Target::logVars 屬性適應這個行為,這個屬性是你想要通過日志目標包含的全局變量名稱。 舉個例子,下面的日志目標配置指明了只有 $_SERVER 變量的值將被追加到日志消息中。# 你可以將 logVars 配置成一個空數組來完全禁止上下文信息包含?;蛘呒偃缒阆胍獙崿F你自己提供上下文信息的方式, 你可以重寫 yii\log\Target::getContextMessage() 方法。'logVars' => [],],/*'file2' =>['levels' => ['trace'],'categories' => ['mylog'],'class' => 'yii\log\FileTarget',# 當 yii\log\Logger 對象刷新日志消息到 log targets 的時候,它們并 不能立即獲取導出的消息。相反,消息導出僅僅在一個日志目標累積了一定數量的過濾消息的時候才會發生。你可以通過配置 個別的 log targets 的 yii\log\Target::exportInterval 屬性來 自定義這個數量,就像下面這樣:'exportInterval' => 1,# 輸出文件'logFile' => '@app/runtime/logs/my.log',# 你可以通過配置 yii\log\Target::prefix 的屬性來自定義格式,這個屬性是一個PHP可調用體返回的自定義消息前綴'prefix' => function ($message) {return $message;},# 除了消息前綴以外,日志目標也可以追加一些上下文信息到每組日志消息中。 默認情況下,這些全局的PHP變量的值被包含在:$_GET, $_POST, $_FILES, $_COOKIE,$_SESSION 和 $_SERVER 中。 你可以通過配置 yii\log\Target::logVars 屬性適應這個行為,這個屬性是你想要通過日志目標包含的全局變量名稱。 舉個例子,下面的日志目標配置指明了只有 $_SERVER 變量的值將被追加到日志消息中。# 你可以將 logVars 配置成一個空數組來完全禁止上下文信息包含?;蛘呒偃缒阆胍獙崿F你自己提供上下文信息的方式, 你可以重寫 yii\log\Target::getContextMessage() 方法。'logVars' => [],],*/],],2. 上面的配置需要加入console,或者common中
執行migration腳本:
./yii migrate --migrationPath=@yii/log/migrations/執行完成后,mysql中會出來一個system_log的表。
?
3.使用
\Yii::info('111111111','appadmin'); 111111111代表是log數據的輸出 ?appadmin是上面配置的categories?
4.我們即可以看到system_log表中出來了一條log記錄
?
5.后臺做圖形化界面,我們可以通過后臺查看log
?
來源地址:http://blog.csdn.net/terry_water/article/details/51250478
轉載于:https://www.cnblogs.com/yhdsir/p/5896820.html
總結
以上是生活随笔為你收集整理的yii2使用 db log的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 存储过程 游标
- 下一篇: Linux 常用命令汇总及解释。