def METHOD_NAME(self, method_name, message, *args):
    with indentcontext():
        for proc in self.processors:
            if proc.is_enabled:
                proc_func = getattr(proc, method_name, None)
                if proc_func is None:
                    continue
                try:
                    self.logger.info(message.format(proc.name))
                    proc_func(*args)
                except Exception as e:  # pylint: disable=broad-except
                    if isinstance(e, KeyboardInterrupt):
                        raise
                    log_error(e, self.logger)