python

Python执行命令日志咋记

小樊
81
2024-11-16 22:57:54
栏目: 编程语言

要在Python中记录执行命令的日志,您可以使用内置的logging模块。以下是一个简单的示例,展示了如何配置和使用logging模块来记录日志:

import logging
import subprocess

# 配置日志记录器
logging.basicConfig(filename='command_execution.log', level=logging.INFO, format='%(asctime)s - %(message)s')

# 要执行的命令
command = "echo 'Hello, World!'"

try:
    # 执行命令
    result = subprocess.run(command, shell=True, check=True, text=True, capture_output=True)
    
    # 记录命令执行结果
    logging.info(f"Command executed successfully: {command}")
    logging.info(f"Output: {result.stdout}")
    
except subprocess.CalledProcessError as e:
    # 记录命令执行失败
    logging.error(f"Command failed: {command}")
    logging.error(f"Error: {e.stderr}")

在这个示例中,我们首先导入了loggingsubprocess模块。然后,我们使用basicConfig方法配置了日志记录器,将日志信息写入名为command_execution.log的文件中,并设置了日志级别为INFO。我们还定义了一个格式化字符串,用于记录日志的时间戳和消息。

接下来,我们定义了一个要执行的命令(在这个例子中是echo 'Hello, World!'),并使用subprocess.run方法执行它。我们设置了shell=True以便在shell环境中运行命令,check=True以便在命令失败时引发异常,text=True以便以文本模式获取输出,以及capture_output=True以便捕获命令的输出。

try块中,我们执行命令并将结果存储在result变量中。然后,我们使用logging.info方法记录命令执行成功以及输出结果。

如果在执行命令时发生异常,我们将在except块中捕获它,并使用logging.error方法记录命令执行失败以及错误信息。

0
看了该问题的人还看了