改进日志输出:显示执行目录、命令和详细错误信息
This commit is contained in:
parent
0fa42b1b2c
commit
3803cec03b
|
|
@ -40,7 +40,10 @@ class Deployer:
|
|||
|
||||
def run_command(self, cmd, cwd=None, timeout=600):
|
||||
"""执行命令"""
|
||||
cwd_str = str(cwd) if cwd else "当前目录"
|
||||
self.logger.info(f"执行目录: {cwd_str}")
|
||||
self.logger.info(f"执行命令: {cmd}")
|
||||
|
||||
try:
|
||||
result = subprocess.run(
|
||||
cmd,
|
||||
|
|
@ -52,15 +55,17 @@ class Deployer:
|
|||
)
|
||||
|
||||
if result.stdout:
|
||||
self.logger.debug(f"输出: {result.stdout}")
|
||||
self.logger.debug(f"标准输出:\n{result.stdout}")
|
||||
|
||||
if result.returncode != 0:
|
||||
self.logger.error(f"命令执行失败: {result.stderr}")
|
||||
self.logger.error(f"命令执行失败 (退出码: {result.returncode})")
|
||||
if result.stderr:
|
||||
self.logger.error(f"错误输出:\n{result.stderr}")
|
||||
return False
|
||||
|
||||
return True
|
||||
except subprocess.TimeoutExpired:
|
||||
self.logger.error(f"命令执行超时: {cmd}")
|
||||
self.logger.error(f"命令执行超时 (超时时间: {timeout}秒)")
|
||||
return False
|
||||
except Exception as e:
|
||||
self.logger.error(f"命令执行异常: {e}")
|
||||
|
|
|
|||
Loading…
Reference in New Issue