python - 如何获取 Python Requests Library 每次重试尝试的日志?
问题描述
我正在使用以下代码在 python 请求中实现重试机制。
from requests import Session
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
s = Session()
retries = Retry(total=5,
raise_on_redirect=True,
raise_on_status=True,
backoff_factor=1,
status_forcelist=[ 500, 502, 503, 504 ])
s.mount('http://', HTTPAdapter(max_retries=retries))
s.mount('https://', HTTPAdapter(max_retries=retries))
response=s.get('https://example.com')
它工作得很好,但是这一切都在悄无声息地发生。我想要的是在重试尝试时得到通知,如果可能的话,为什么会发生重试。对于每次重试尝试,我都想要这样的东西。
print(Exception.__class__)
print('Retrying after' + x + 'seconds')
可能吗?
解决方案
您可以编写自己的类来添加应该从重试继承的日志。
class LogRetry(Retry):
"""
Adding extra logs before making a retry request
"""
def __init__(self, *args, **kwargs):
logger.info(f'<add your logs here>')
super().__init__(*args, **kwargs)
retries = LogRetry(<your args>)
推荐阅读
- r - 任何列中存在特定值的子集数据框
- go - 检查项目是否存在并且是真还是假
- python - 使用 discord.py 检测和踢 alt
- amazon-web-services - Cloudformation 如果有两个或
- sql - 如何在 SQL Server 数据库中添加与同一服务器上的另一个用户具有相同权限的用户?
- docker - 如何在重新启动或尝试失败后使用 compose 自动重新启动 docker 容器?
- powerbi - 在 Power BI 中隐藏第二个表头
- wpf - 具有绑定值的 ComboBox 项
- c# - 如何遍历列表
子类中的基类? - javascript - filter 函数显示一个空数组