如何在Python中使用getLogger()记录HTTP请求日志
在Python中,使用getLogger()函数可以方便地记录HTTP请求日志。getLogger()函数是Python标准库中的logging模块的一个方法,用于创建一个日志记录器对象,可以通过该对象记录各种类型的日志。
下面是一个使用getLogger()函数记录HTTP请求日志的示例代码:
import logging
import requests
# 配置日志记录器
logger = logging.getLogger('http_request_logger')
logger.setLevel(logging.DEBUG)
# 创建一个文件处理器,将日志写入到文件
file_handler = logging.FileHandler('http_request.log')
file_handler.setLevel(logging.DEBUG)
# 创建日志格式器,定义日志输出的格式
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
# 将文件处理器添加到日志记录器
logger.addHandler(file_handler)
# 发送HTTP请求,并记录日志
resp = requests.get('http://api.example.com/v1/some-endpoint')
logger.debug(f'Response status code: {resp.status_code}')
logger.debug(f'Response body: {resp.text}')
在上述示例中,首先通过logging.getLogger()方法创建一个名为http_request_logger的日志记录器对象。然后,设置日志记录器的日志级别为DEBUG,表示记录所有级别的日志。
接下来,创建一个文件处理器对象file_handler,用于将日志写入到文件中。设置文件处理器的日志级别为DEBUG,即记录所有级别的日志。
然后,创建一个日志格式器对象formatter,用于定义日志输出的格式。这里使用了一个包含时间、日志级别和日志消息的格式。
最后,将文件处理器对象file_handler添加到日志记录器对象中。
在发送HTTP请求时,可以使用日志记录器的debug()方法记录请求的状态码和响应内容。在示例中,使用requests库发送了一个GET请求,并记录了响应的状态码和响应内容。
运行上述代码后,会在当前目录下创建一个名为http_request.log的日志文件,其中记录了HTTP请求的日志。
总结一下,在Python中使用getLogger()记录HTTP请求日志的步骤如下:
1. 导入logging模块和requests库。
2. 创建一个日志记录器对象,使用logging.getLogger()方法,并设置日志级别。
3. 创建一个文件处理器对象,用于将日志写入到文件中,并设置日志级别。
4. 创建一个日志格式器对象,用于定义日志输出的格式。
5. 将文件处理器对象添加到日志记录器对象中。
6. 使用日志记录器对象的debug()方法记录HTTP请求的状态码和响应内容。
