구체적인 방법은 다음과 같습니다.
먼저 오류 방법을 구성하고 errorHandler 매개 변수를 수정합니다.
(관련 권장 사항: yii 프레임워크)
config/web에서 기본값은 사이트 컨트롤러
'errorHandler' => [ 'errorAction' => 'site/error', ]
수정:
'errorHandler' => [ 'errorAction' => '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; }
오류 로그는 런타임/로그 디렉터리에 생성됩니다.
위 내용은 Yii에서 오류 로그를 수동으로 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!