diff --git a/.devops/deployer.py b/.devops/deployer.py index 95db713..b883f70 100644 --- a/.devops/deployer.py +++ b/.devops/deployer.py @@ -54,15 +54,31 @@ class Deployer: timeout=timeout ) + # 始终输出标准输出(如果有) if result.stdout: - self.logger.debug(f"标准输出:\n{result.stdout}") + # 限制输出长度,避免日志过大 + stdout_lines = result.stdout.strip().split('\n') + if len(stdout_lines) > 50: + self.logger.info(f"标准输出 (前30行):\n" + '\n'.join(stdout_lines[:30])) + self.logger.info(f"... (省略 {len(stdout_lines) - 50} 行)") + self.logger.info(f"标准输出 (后20行):\n" + '\n'.join(stdout_lines[-20:])) + else: + self.logger.info(f"标准输出:\n{result.stdout.strip()}") if result.returncode != 0: self.logger.error(f"命令执行失败 (退出码: {result.returncode})") if result.stderr: - self.logger.error(f"错误输出:\n{result.stderr}") + # 限制错误输出长度 + stderr_lines = result.stderr.strip().split('\n') + if len(stderr_lines) > 50: + self.logger.error(f"错误输出 (前30行):\n" + '\n'.join(stderr_lines[:30])) + self.logger.error(f"... (省略 {len(stderr_lines) - 50} 行)") + self.logger.error(f"错误输出 (后20行):\n" + '\n'.join(stderr_lines[-20:])) + else: + self.logger.error(f"错误输出:\n{result.stderr.strip()}") return False + self.logger.info("命令执行成功") return True except subprocess.TimeoutExpired: self.logger.error(f"命令执行超时 (超时时间: {timeout}秒)")