Python中使用get_logger()记录API请求和响应信息的方法
发布时间:2024-01-05 21:05:58
在Python中,可以使用logging模块的getLogger()方法来记录API请求和响应信息。logging模块是Python标准库提供的日志记录工具,可以方便地进行日志输出和记录。
首先,需要导入logging模块和requests模块(用于发送API请求):
import logging import requests
接下来,可以使用getLogger()方法来获取一个Logger对象,命名为“api_logger”:
api_logger = logging.getLogger("api_logger")
可以选择设置Logger对象的日志级别,例如设置为DEBUG级别,以记录所有级别的日志信息:
api_logger.setLevel(logging.DEBUG)
然后,可以创建一个FileHandler对象,用于将日志写入到文件中:
log_file = "api_logs.log" file_handler = logging.FileHandler(log_file)
可以选择设置FileHandler对象的日志级别,例如设置为INFO级别,以只记录INFO级别及以上的日志信息:
file_handler.setLevel(logging.INFO)
接下来,需要创建一个Formatter对象,用于设置日志的格式:
log_format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s" formatter = logging.Formatter(log_format)
将Formatter对象添加到FileHandler对象中:
file_handler.setFormatter(formatter)
最后,将FileHandler对象添加到Logger对象中:
api_logger.addHandler(file_handler)
现在,Logger对象已经设置好了,可以使用它来记录API请求和响应信息。
例如,发送一个GET请求,并记录请求和响应的相关信息:
url = "http://api.example.com/get_data"
response = requests.get(url)
api_logger.info("API GET request: %s", url)
api_logger.info("API response: %s", response.text)
这将会将请求url和响应内容写入到日志文件中。
使用例子:
import logging
import requests
# 获取Logger对象
api_logger = logging.getLogger("api_logger")
# 设置日志级别为DEBUG
api_logger.setLevel(logging.DEBUG)
# 创建FileHandler对象,并设置日志级别为INFO
log_file = "api_logs.log"
file_handler = logging.FileHandler(log_file)
file_handler.setLevel(logging.INFO)
# 设置日志格式
log_format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
formatter = logging.Formatter(log_format)
file_handler.setFormatter(formatter)
# 将FileHandler对象添加到Logger对象中
api_logger.addHandler(file_handler)
# 发送API请求并记录日志
url = "http://api.example.com/get_data"
response = requests.get(url)
api_logger.info("API GET request: %s", url)
api_logger.info("API response: %s", response.text)
以上代码将会将API请求的url和响应内容写入到名为“api_logs.log”的日志文件中。日志文件内容的格式类似于:
2021-01-01 12:00:00 - api_logger - INFO - API GET request: http://api.example.com/get_data
2021-01-01 12:00:01 - api_logger - INFO - API response: {"data": "example"}
通过使用getLogger()方法和相关的配置,可以方便地记录API请求和响应信息并进行日志记录。这样可以帮助开发人员进行调试和错误排查,以及追踪系统的运行情况。
