def get_resourceprovider_logger(name=None, short_name=" ", log_to_file=True):
    """
    Get a logger for ResourceProvider and it's components, such as Allocators.

    :param name: Name for logger
    :param short_name: Shorthand name for the logger
    :param log_to_file: Boolean, True if logger should log to a file as well.
    :return: Logger
    """

    global LOGGERS
    loggername = name
    logger = _check_existing_logger(loggername, short_name)
    if logger is not None:
        return logger
    logger_config = LOGGING_CONFIG.get(name, DEFAULT_LOGGING_CONFIG)
    logger = _get_basic_logger(loggername, log_to_file, get_base_logfilename(loggername + ".log"))

    cbh = logging.StreamHandler()
    cbh.formatter = BenchFormatterWithType(COLOR_ON)
    if VERBOSE_LEVEL > 0 and not SILENT_ON:
        cbh.setLevel(logging.DEBUG)
    elif SILENT_ON:
        cbh.setLevel(logging.WARN)
    else:
        cbh.setLevel(getattr(logging, logger_config.get("level")))
    logger.addHandler(cbh)

    LOGGERS[loggername] = BenchLoggerAdapter(logger, {"source": short_name})

    return LOGGERS[loggername]
Get a logger for ResourceProvider and it's components, such as Allocators.

    :param name: Name for logger
    :param short_name: Shorthand name for the logger
    :param log_to_file: Boolean, True if logger should log to a file as well.
    :return: Logger