getMessage()]); //获取自定义的日志 $requestLog = ""; if(LoggerFactoryUtil::getMessage()){ $requestLog = json_encode(LoggerFactoryUtil::getMessage()); } //获取监听到的sql语句 $requestSqlLog = ""; if(LoggerFactoryUtil::getSqlMessage()){ $requestSqlLog = json_encode(LoggerFactoryUtil::getSqlMessage()); } if(env("REQUEST_LOG_FLAG")){ // RequestLogModel::insert($logData); $requestId = LoggerFactoryUtil::getRequestId()?LoggerFactoryUtil::getRequestId():floor(microtime(true)*1000); //获取请求数据 $param = $request->all(); //获取用户token $token = $request->header("X-TOKEN")?$request->header("X-TOKEN"):""; $param = array_merge($param,["token"=>$token]); //判断请求参数中是否存在traceId if(isset($_GET["traceId"])){ $traceId= $_GET["traceId"]; }else{ $traceId = md5(uniqid().time()); } $mqMessage = [ "requestPath"=>$request->path(), "requestParam"=>json_encode($param), "requestResponse"=>$responseData, "requestSqlLog"=>$requestSqlLog, "requestLog"=>$requestLog, "requestProjectName"=>"vtoolAdmin", "createdAt"=>$startTime, "updatedAt"=>$endTime, "requestId"=>$requestId, "uniqueTraceId"=>$traceId ]; try{ MqTool::pushLogMessage(json_encode($mqMessage),"daogouLogKey"); }catch (\Exception $exception){}finally{} } //异常处理 if($exception instanceof ValidateException){ return $this->error($exception->getMessage()); } return parent::render($request, $exception); } /** * 错误返回 * @param $msg * @param string $code * @param string $url */ public function error($msg,$code="500",$url="") { return response()->json( [ "status"=>false, "data"=>"", "code"=>$code, "msg"=>$msg, "url"=>$url ] ); } }