async def METHOD_NAME(command, log_level=logging.INFO, **kwargs):
    """Execute a command in a subprocess.
    Args:
        command (list): the command to run
        log_level (int, optional): the logging level. Defaults to logging.INFO
        **kwargs: the kwargs to pass to subprocess
    Raises:
        FailedSubprocess: on failure
    """
    message = 'Running "{}"'.format(" ".join(command))
    if "cwd" in kwargs:
        message += " in {}".format(kwargs["cwd"])
    log.info(message)
    subprocess = await asyncio.create_subprocess_exec(*command, stdout=PIPE, stderr=STDOUT, **kwargs)
    log.log(log_level, "COMMAND OUTPUT: ")
    await log_output(subprocess.stdout, log_level=log_level)
    exitcode = await subprocess.wait()
    log.info("exitcode {}".format(exitcode))
    if exitcode != 0:
        raise FailedSubprocess("Command `{}` failed".format(" ".join(command)))