为了账号安全,请及时绑定邮箱和手机立即绑定

Python 重试包 - 坚韧:如何记录异常的根本原因?

Python 重试包 - 坚韧:如何记录异常的根本原因?

牧羊人nacy 2021-08-24 14:54:56
正如在这个问题中所讨论的,我正在使用坚韧进行重试。玩具代码如下所示import loggingfrom tenacity import retryimport tenacity@retry(wait=tenacity.wait_incrementing(start=10, increment=10, max=100), stop=tenacity.stop_after_attempt(3))def print_msg():    logging.info('Hello')    logging.info("World")    raise Exception('Test error')if __name__ == '__main__':    logging.basicConfig(        format='%(asctime)s,%(msecs)d %(levelname)-8s [%(filename)s:%(lineno)d] %(message)s',        datefmt='%d-%m-%Y:%H:%M:%S',        level=logging.INFO)    logging.info('Starting')    print_msg()输出如下所示21-11-2018:12:40:48,586 INFO     [retrier.py:18] Starting21-11-2018:12:40:48,586 INFO     [retrier.py:8] Hello21-11-2018:12:40:48,586 INFO     [retrier.py:9] World21-11-2018:12:40:58,592 INFO     [retrier.py:8] Hello21-11-2018:12:40:58,592 INFO     [retrier.py:9] World21-11-2018:12:41:18,596 INFO     [retrier.py:8] Hello21-11-2018:12:41:18,596 INFO     [retrier.py:9] World21-11-2018:12:41:18,596 ERROR    [retrier.py:22] Received ExceptionTraceback (most recent call last):  File "/Users/dmanna/PycharmProjects/demo/retrier.py", line 20, in <module>    print_msg()  File "/Users/dmanna/PycharmProjects/demo/venv/lib/python2.7/site-packages/tenacity/__init__.py", line 292, in wrapped_f    return self.call(f, *args, **kw)  File "/Users/dmanna/PycharmProjects/demo/venv/lib/python2.7/site-packages/tenacity/__init__.py", line 358, in call    do = self.iter(retry_state=retry_state)  File "/Users/dmanna/PycharmProjects/demo/venv/lib/python2.7/site-packages/tenacity/__init__.py", line 332, in iter    six.raise_from(retry_exc, fut.exception())  File "/Users/dmanna/PycharmProjects/demo/venv/lib/python2.7/site-packages/six.py", line 737, in raise_from    raise valueRetryError: RetryError[<Future at 0x109fa6150 state=finished raised Exception>]有人可以让我知道如何记录异常的根本原因吗?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信