type=$type; $this->logging(); } public function logging() { $exception=$this; list( $className, $functionName, $tracesAll ) =(function()use($exception){ $traces=method_exists($exception,'getTraceAsString') ?($exception->getTraceAsString()??'') :''; if(!$traces)return ''; preg_match('/\#0.*?\: (.*?)(-\>|\:\:)(.*?)\(/', $traces, $result); return [$result[1]??'',$result[3]??'',$traces]; })(); LogService::log( $className, $functionName, ($exception->getMessage()??'') .'调用堆栈e:'.$tracesAll, Auth::id()??'', $this->type ); } }