def log_function(func):
    """
    A decorator to log arguments of function
    """

    fname = func.__code__.co_name
    arg_names = func.__code__.co_varnames
    def echo_func(*args, **kwargs):
        """
        Echoes the function arguments
        """
        print("[!]", fname + ": ", ", ".join("%s=%r" % entry for entry in zip(arg_names, args)))
        return func(*args, **kwargs)
    return echo_func