Home > Article > PHP Framework > How to manually generate error logs in Yii

The specific method is as follows:
First configure the error method and modify the errorHandler parameters
(Related recommendations: yii framework)
Under config/web, the default is the error method under the site controller
'errorHandler' => [
'errorAction' => 'site/error',
] is modified to:
'errorHandler' => [
'errorAction' => 'error/error',
]I am used to recreating an error The method depends on personal habits.
Create actionError in the error controller, as follows:
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;
}The error log will be generated in the runtime/log directory.
The above is the detailed content of How to manually generate error logs in Yii. For more information, please follow other related articles on the PHP Chinese website!