@staticmethod
def __add_names(config, key, names):
    """Adds names to a logging config value
        The logging config value must be a list, e.g. handler names

        Args:
            config (dict): Logging config dict of a logger/handler, etc.
            key (str): The key in logging config containing a list of values.
            names (list): A list of strings to be added to the list of values.

        Example:
            config can be a logger config like:
            config = {
                'handlers': ['handler1'],
                'level': 'DEBUG',
                'propagate': True,
            }
            Calling __add_names(config, 'handlers', 'handler2') will add 'handler2'
            to the values of 'handlers' in the config. The method will return the following:
            {
                'handlers': ['handler1', 'handler2'],
                'level': 'DEBUG',
                'propagate': True,
            }
        """
    entries = config.get(key, [])
    for name in names:
        if name not in entries:
            entries.append(name)
    config[key] = entries
    return config
