def warning_ret(f, *args, **kwargs):
    """Automatically log progress on function entry and exit. Logging
    value: warning. The function's return value will be included in the logs.

    *Logging with values contained in the parameters of the decorated function*
    Message (args[0]) may be a string to be formatted with parameters passed to
    the decorated function. Each '{varname}' will be replaced by the value of
    the parameter of the same name.

    *Exceptions:*
    - IndexError and ValueError
      - will be returned if *args contains a string that does not correspond to
        a parameter name of the decorated function, or if there are more '{}'s
        than there are *args.

    """
    kwargs.update({'log': logging.WARNING})
    kwargs.update({'print_return': True})
    return _stump(f, *args, **kwargs)