コード例 #1
0
ファイル: Reactor.py プロジェクト: remotesyssupport/nymms
    def _load_handlers(self, handler_config_path, **kwargs):
        base_path = os.path.expanduser(handler_config_path)
        conf_files = glob.glob(os.path.join(base_path, '*.conf'))
        logger.debug("Loading handlers from %s", handler_config_path)
        for f in conf_files:
            handler_name = os.path.basename(f)[:-5]
            # We could eventually have the handlers get loaded everytime and
            # update them if their config has changed (via config_version
            # below).  For now lets not get that tricky.
            if handler_name in self._handlers:
                if not kwargs.get('force_load_handlers', False):
                    logger.debug("Handler %s already loaded, skipping.",
                                 handler_name)
                    continue
            conf_version, conf = yaml_config.load_config(f)
            enabled = conf.pop('enabled', False)
            if not enabled:
                logger.debug("Handler %s 'enabled' is not set to true. "
                             "Skipping.", handler_name)
                continue
            cls_string = conf.pop('handler_class')
            logger.debug('Initializing handler %s.', handler_name)
            try:
                handler_cls = load_object_from_string(cls_string)
                self._handlers[handler_name] = handler_cls(conf)
            except Exception as e:
                logutil.log_exception("Skipping handler %s due to "
                    "unhandled exception:" % (handler_name), logger)
                continue

        if not self._handlers:
            logger.error("No handlers loaded.  Exiting.")
            sys.exit(1)
コード例 #2
0
ファイル: Handler.py プロジェクト: synfinatic/nymms
 def _load_filters(self):
     filters = self.config.get('filters', [])
     if filters:
         for filter_string in filters:
             logging.debug("Adding Filter %s to Handler %s.", filter_string,
                           self.__class__.__name__)
             f = load_object_from_string(filter_string)
             self._filters.append(f)
     else:
         logger.debug("No filters configured for Handler %s.",
                      self.__class__.__name__)
コード例 #3
0
ファイル: Reactor.py プロジェクト: synfinatic/nymms
 def _load_handler(self, handler_name, config, **kwargs):
     enabled = config.pop('enabled', False)
     if not enabled:
         logger.debug("Handler %s 'enabled' is not set to true. "
                      "Skipping.", handler_name)
         return None
     cls_string = config.pop('handler_class')
     logger.debug('Initializing handler %s.', handler_name)
     try:
         handler_cls = load_object_from_string(cls_string)
         return handler_cls(config)
     except Exception as e:
         logutil.log_exception("Skipping handler %s due to "
             "unhandled exception:" % (handler_name), logger)
         return None
コード例 #4
0
    def load_handler(self, handler_name, config, **kwargs):
        enabled = config.pop('enabled', False)

        if not enabled:
            logger.debug(
                "Handler %s 'enabled' is not set to true. "
                "Skipping.", handler_name)
            return None
        cls_string = config.pop('handler_class')
        logger.debug('Initializing handler %s.', handler_name)
        try:
            handler_cls = load_object_from_string(cls_string)
            return handler_cls(config)
        except Exception:
            logutil.log_exception(
                "Skipping handler %s due to "
                "unhandled exception:" % handler_name, logger)
            return None
コード例 #5
0
ファイル: test_base.py プロジェクト: rizplate/nymms
 def test_load_class_from_string(self):
     from logging import Logger
     cls = utils.load_object_from_string('logging.Logger')
     self.assertIs(cls, Logger)
コード例 #6
0
ファイル: test_base.py プロジェクト: synfinatic/nymms
 def test_load_class_from_string(self):
     from logging import Logger
     cls = utils.load_object_from_string('logging.Logger')
     self.assertIs(cls, Logger)
コード例 #7
0
ファイル: test_base.py プロジェクト: remotesyssupport/nymms
 def test_load_class_from_string(self):
     from logging import Logger
     x = utils.load_object_from_string('logging.Logger')
     self.assertEqual(x, Logger)