"""Backoff Handlers for s3 bucket storage"""

import logging


def backoff_hdlr(details):
    """Handler function for backoff logging."""
    logging.warning(
        "Backing off %.1f seconds after %d tries "
        "calling function %s with args %s and kwargs "
        "%s",
        details["wait"],
        details["tries"],
        details["target"].__name__,
        details["args"],
        details["kwargs"],
    )


def success_hdlr(details):
    """Handler function for logging success."""
    logging.info(
        "Function %s succeeded on attempt %d " "with args %s and kwargs %s",
        details["target"].__name__,
        details["tries"],
        details["args"],
        details["kwargs"],
    )


def failure_hdlr(details):
    """Handler function for logging failure."""
    logging.error(
        "Function %s failed on attempt %d " "with args %s and kwargs %s",
        details["target"].__name__,
        details["tries"],
        details["args"],
        details["kwargs"],
    )
