具體方法如下:
首先配置錯誤方法,修改errorHandler參數
(相關推薦:yii框架)
在config/web下,預設為site控制器下的error方法
'errorHandler' => [ 'errorAction' => 'site/error', ]
修改為:
'errorHandler' => [ 'errorAction' => 'error/error', ]
我習慣於重新建立錯誤方法,根據個人習慣來。
在error控制器裡建立actionError,如下:
public function actionError(){ $error = \Yii::$app->errorHandler->exception; $error_msg = ''; if($error){ $filed = $error->getFile(); //获取错误文件 $line = $error->getLine(); //获取错误行数 $message = $error->getMessage(); //获取错误消息 $code = $error->getCode(); //获取错误码 $log = new FileTarget(); $log->logFile = \Yii::$app->getRuntimePath() . "/log/error.log"; //生成文件到log目录下 $error_msg = $message ." [file:{$filed}][line:{$line}][message:{$message}][code:{$code}][url:{$_SERVER['REQUEST_URI']}][POST_DATA:".http_build_query($_POST)."]"; $log->messages[] = [ $error_msg, 1, 'applicition', microtime( true ) ]; $log->export(); } return $error_msg; }
這樣錯誤日誌就會產生在runtime/log目錄下了。
以上是yii怎麼手動產生錯誤日誌的詳細內容。更多資訊請關注PHP中文網其他相關文章!