開發中,為了方便我們調試程式和資訊記錄,我們會將必要的資訊寫入一個文件中,這就是日誌文件,yii框架為我們提供了很好的寫日誌方法,下面我們一起來看看吧。
yii框架如何寫日誌?
1、Yii 使用log 首先需要修改設定檔:
'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], 'logVars' => ['_GET'], ], ], ],
targets參數解釋:
'logVars' => ['*'], // 只记录message
#2、使用如下:
Yii::error($message); Yii::warning($message);
將日誌寫入到不同的檔案
方法一:在需要記錄日誌的地方先賦值log檔案位址,再寫入日誌
Yii::$app->log->targets[0]->logFile = Yii::getAlias('@runtime').DIRECTORY_SEPARATOR.'logs'.DIRECTORY_SEPARATOR.'app2.log'; Yii::warning($message);
方法二(建議):修改設定檔main.php
'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], 'logVars' => ['*'], //'categories' => ['application'], //'logFile' => '@runtime/logs/app.log', ], [ 'class' => 'yii\log\FileTarget', 'categories' => ['pay'], 'levels' => ['error', 'warning'], 'logVars' => ['*'], 'logFile' => '@runtime/logs/pay.log', ], [ 'class' => 'yii\log\FileTarget', 'categories' => ['order'], 'levels' => ['error', 'warning'], 'logVars' => ['*'], 'logFile' => '@runtime/logs/order.log', ], ], ],使用:
Yii::warning($message,'pay')此處message 會記錄到pay.log中,當然同時也會記錄到預設的app.log中 你可以將這段程式碼:
//'categories' => ['application'], 註解去掉,這樣就只會記錄到各自的log中了。
但這樣也會導致 有些錯誤訊息不能記錄到 app.log。以上是yii框架如何寫日誌?的詳細內容。更多資訊請關注PHP中文網其他相關文章!