code: def __send_log_set_exc_and_wait(self, msg, level=None, wait_seconds=CONN_RETRY_DELAY_SECONDS):
          
          logger.log(
              ((logging.DEBUG if self.__send_exc else logging.ERROR) if level is None else level),
              msg,
              exc_info=DEBUG_ENABLED
          )
          self.__send_exc_time = monotonic()
          self.__send_exc = exc_info()[1]
          self.__end.wait(wait_seconds)
docs: To be called in exception context only.
  
          msg - message to log
          level - logging level. If not specified, ERROR unless it is a repeated failure in which case DEBUG. If
          specified, the given level will always be used.
          wait_seconds - how long to pause for (so retry is not triggered immediately)