import tenacity import traceback import logging def after_func(retry_state: tenacity.RetryCallState) -> None: if retry_state.outcome.failed: exc = retry_state.outcome.exception() logging.warning(f"Retrying {retry_state.fn.__name__} due to {repr(exc)} (Attempt {retry_state.attempt_number})") logging.debug(traceback.format_exception(type(exc), exc, exc.__traceback__))