def METHOD_NAME(level, logfile=None, max_bytes=10000000, backup_count=10, compression=True, quiet=False):
    if logfile and len(logfile) > 0:
        if compression:
            stream_handler = CompressedRotatingFileHandler(logfile, maxBytes=max_bytes, backupCount=backup_count)
        else:
            stream_handler = RotatingFileHandler(logfile, maxBytes=max_bytes, backupCount=backup_count)
        stream_handler.formatter = ColouredFormatter("{asctime} {levelname} {filename}:{lineno} {message}", "%Y-%m-%d %H:%M:%S", "{")
    elif sys.platform.startswith("win"):
        stream_handler = WinStreamHandler(sys.stdout)
        stream_handler.formatter = ColouredFormatter("{asctime} {levelname} {filename}:{lineno} {message}", "%Y-%m-%d %H:%M:%S", "{")
    else:
        stream_handler = ColouredStreamHandler(sys.stdout)
        stream_handler.formatter = ColouredFormatter("{asctime} {levelname} {filename}:{lineno}#RESET# {message}", "%Y-%m-%d %H:%M:%S", "{")
    if quiet:
        stream_handler.addFilter(logging.Filter(name="user_facing"))
        logging.getLogger('user_facing').propagate = False
    if level > logging.DEBUG:
        stream_handler.addFilter(LogFilter)
    logging.basicConfig(level=level, handlers=[stream_handler])
    return logging.getLogger('user_facing')