def debug(*args):
    try:
        st = inspect.stack()[1]
        funcName = st[3]
        funcCallStr = st[4]

        varnames = re.search('debug\((.*)\)', funcCallStr[0])
        varnames = varnames.groups()[0].split(',')

        for n, v in zip(varnames, args):
            v_str = str(v)
            v_str = "`%s`" % v_str if v_str.count('\n') == 0 else v_str
            print(config['fmt'] % (n.strip()) + config['sep'], v_str, end=config['end'], file=config['file'])

    except Exception as err:
        raise err