Loading src/Amqp/Producer/ExceptionLogProducer.php +0 −10 Original line number Original line Diff line number Diff line Loading @@ -26,33 +26,25 @@ class ExceptionLogProducer extends ProducerMessage // 获取trace中真实文件和行数 // 获取trace中真实文件和行数 if (!empty($data['trace'])) { if (!empty($data['trace'])) { preg_match('/(\/var\/www\/html\/.+?\/app\/.+?\.php)(?=\()/', $data['trace'], $matchFiles); preg_match('/(\/var\/www\/html\/.+?\/app\/.+?\.php)(?=\()/', $data['trace'], $matchFiles); put_log('$matchFiles: ' . json_encode($matchFiles), 'ExceptionLogProducerPreg.log'); if (!empty($matchFiles[0])) { if (!empty($matchFiles[0])) { $data['file'] = $matchFiles[0]; $data['file'] = $matchFiles[0]; $file = str_replace('/', '\/', $matchFiles[0]); $file = str_replace('/', '\/', $matchFiles[0]); $file = str_replace('.', '\.', $file); $file = str_replace('.', '\.', $file); $pattern = '/(?<=' . $file . '\()[0-9]+(?=\))/'; $pattern = '/(?<=' . $file . '\()[0-9]+(?=\))/'; put_log('$pattern: ' . $pattern, 'ExceptionLogProducerPreg.log'); preg_match($pattern, $data['trace'], $matchLines); preg_match($pattern, $data['trace'], $matchLines); put_log('$matchLines: ' . json_encode($matchLines), 'ExceptionLogProducerPreg.log'); if (!empty($matchLines[0])) { if (!empty($matchLines[0])) { $data['line'] = $matchLines[0]; $data['line'] = $matchLines[0]; } } } } } } put_log("file: {$data['file']}", 'ExceptionLogProducerEcho.log'); if (!empty($data['file'])) { if (!empty($data['file'])) { // 只对项目app文件夹下的错误获取编码人 // 只对项目app文件夹下的错误获取编码人 preg_match('/(\/var\/www\/html\/.+?\/app\/)/', $data['file'], $matchPaths); preg_match('/(\/var\/www\/html\/.+?\/app\/)/', $data['file'], $matchPaths); put_log('$matchPaths: ' . json_encode($matchPaths), 'ExceptionLogProducerPreg.log'); if (!empty($matchPaths[0])) { if (!empty($matchPaths[0])) { try { try { put_log("cd {$matchPaths[0]} && git blame -L {$data['line']},{$data['line']} {$data['file']}", 'ExceptionLogProducerEcho.log'); exec("cd {$matchPaths[0]} && git blame -L {$data['line']},{$data['line']} {$data['file']}", $output); exec("cd {$matchPaths[0]} && git blame -L {$data['line']},{$data['line']} {$data['file']}", $output); put_log("output: " . json_encode($output), 'ExceptionLogProducerEcho.log'); if (!empty($output[0]) && is_string($output[0])) { if (!empty($output[0]) && is_string($output[0])) { preg_match('/(?<=\()[^ ]+/', $output[0], $matchCoders); preg_match('/(?<=\()[^ ]+/', $output[0], $matchCoders); put_log('$matchCoders: ' . json_encode($matchCoders), 'ExceptionLogProducerPreg.log'); if (!empty($matchCoders[0])) { if (!empty($matchCoders[0])) { $data['coder'] = $matchCoders[0]; $data['coder'] = $matchCoders[0]; } } Loading @@ -62,8 +54,6 @@ class ExceptionLogProducer extends ProducerMessage } } } } } } put_log('----------', 'ExceptionLogProducerPreg.log'); put_log('----------', 'ExceptionLogProducerEcho.log'); $this->payload = $data; $this->payload = $data; } } Loading Loading
src/Amqp/Producer/ExceptionLogProducer.php +0 −10 Original line number Original line Diff line number Diff line Loading @@ -26,33 +26,25 @@ class ExceptionLogProducer extends ProducerMessage // 获取trace中真实文件和行数 // 获取trace中真实文件和行数 if (!empty($data['trace'])) { if (!empty($data['trace'])) { preg_match('/(\/var\/www\/html\/.+?\/app\/.+?\.php)(?=\()/', $data['trace'], $matchFiles); preg_match('/(\/var\/www\/html\/.+?\/app\/.+?\.php)(?=\()/', $data['trace'], $matchFiles); put_log('$matchFiles: ' . json_encode($matchFiles), 'ExceptionLogProducerPreg.log'); if (!empty($matchFiles[0])) { if (!empty($matchFiles[0])) { $data['file'] = $matchFiles[0]; $data['file'] = $matchFiles[0]; $file = str_replace('/', '\/', $matchFiles[0]); $file = str_replace('/', '\/', $matchFiles[0]); $file = str_replace('.', '\.', $file); $file = str_replace('.', '\.', $file); $pattern = '/(?<=' . $file . '\()[0-9]+(?=\))/'; $pattern = '/(?<=' . $file . '\()[0-9]+(?=\))/'; put_log('$pattern: ' . $pattern, 'ExceptionLogProducerPreg.log'); preg_match($pattern, $data['trace'], $matchLines); preg_match($pattern, $data['trace'], $matchLines); put_log('$matchLines: ' . json_encode($matchLines), 'ExceptionLogProducerPreg.log'); if (!empty($matchLines[0])) { if (!empty($matchLines[0])) { $data['line'] = $matchLines[0]; $data['line'] = $matchLines[0]; } } } } } } put_log("file: {$data['file']}", 'ExceptionLogProducerEcho.log'); if (!empty($data['file'])) { if (!empty($data['file'])) { // 只对项目app文件夹下的错误获取编码人 // 只对项目app文件夹下的错误获取编码人 preg_match('/(\/var\/www\/html\/.+?\/app\/)/', $data['file'], $matchPaths); preg_match('/(\/var\/www\/html\/.+?\/app\/)/', $data['file'], $matchPaths); put_log('$matchPaths: ' . json_encode($matchPaths), 'ExceptionLogProducerPreg.log'); if (!empty($matchPaths[0])) { if (!empty($matchPaths[0])) { try { try { put_log("cd {$matchPaths[0]} && git blame -L {$data['line']},{$data['line']} {$data['file']}", 'ExceptionLogProducerEcho.log'); exec("cd {$matchPaths[0]} && git blame -L {$data['line']},{$data['line']} {$data['file']}", $output); exec("cd {$matchPaths[0]} && git blame -L {$data['line']},{$data['line']} {$data['file']}", $output); put_log("output: " . json_encode($output), 'ExceptionLogProducerEcho.log'); if (!empty($output[0]) && is_string($output[0])) { if (!empty($output[0]) && is_string($output[0])) { preg_match('/(?<=\()[^ ]+/', $output[0], $matchCoders); preg_match('/(?<=\()[^ ]+/', $output[0], $matchCoders); put_log('$matchCoders: ' . json_encode($matchCoders), 'ExceptionLogProducerPreg.log'); if (!empty($matchCoders[0])) { if (!empty($matchCoders[0])) { $data['coder'] = $matchCoders[0]; $data['coder'] = $matchCoders[0]; } } Loading @@ -62,8 +54,6 @@ class ExceptionLogProducer extends ProducerMessage } } } } } } put_log('----------', 'ExceptionLogProducerPreg.log'); put_log('----------', 'ExceptionLogProducerEcho.log'); $this->payload = $data; $this->payload = $data; } } Loading