commom configuration code

        Args:
            prefix (str): A prefix for the `log_level` and `log_format` keys to use with the config. #FIXME: Hacky, add separate sections for each logger config?
            fallback_level (str): Fallback/minimum log level, for if config does not have one.
            fallback_format (str): Fallback format for if it's not in the config.
            handler_name (str): Handler used in debug messages.
            handler (str): The handler to configure and use.
            custom_args (str): special ID to include in messages

def _configure_common(
            self,
            prefix,
            fallback_level,
            fallback_format,
            handler_name,
            handler,
            custom_args=''
    ):
        """commom configuration code

        Args:
            prefix (str): A prefix for the `log_level` and `log_format` keys to use with the config. #FIXME: Hacky, add separate sections for each logger config?
            fallback_level (str): Fallback/minimum log level, for if config does not have one.
            fallback_format (str): Fallback format for if it's not in the config.
            handler_name (str): Handler used in debug messages.
            handler (str): The handler to configure and use.
            custom_args (str): special ID to include in messages

        """
        ## Retrieve settings from config ##
        log_level = self.config.get_option(
            'LOGGING', prefix + 'log_level',
            None, fallback_level
        )
        log_format_name = self.config.get_option(
            'LOGGING', prefix + 'log_format',
            None, None
        )
        log_format = ReportingFormats[log_format_name].value if log_format_name else fallback_format
        log_format = log_format.format(custom_args=custom_args)  # should work even if no {custom_args}

        ## Attach handlers/formatter ##
        formatter = logging.Formatter(log_format)
        handler.setFormatter(formatter)
        handler.setLevel(log_level)
        self.logger.addHandler(handler)
        if not self.logger.isEnabledFor(logging.getLevelName(log_level)): # make sure logger level is not lower than handler level
            self.logger.setLevel(log_level)

        ## Save info about handler created ##
        self.log_info.append(handler_name + ' @ ' + str(log_level))
        self.log_handlers.append(handler)