Browse Source

Add logging about plugin loading

Alec Nikolas Reiter 7 years ago
parent
commit
95393c55a8
1 changed files with 11 additions and 0 deletions
  1. 11 0
      flaskbb/plugins/manager.py

+ 11 - 0
flaskbb/plugins/manager.py

@@ -8,12 +8,16 @@
     :copyright: 2017, the FlaskBB Team
     :copyright: 2017, the FlaskBB Team
     :license: BSD, see LICENSE for more details
     :license: BSD, see LICENSE for more details
 """
 """
+import logging
+
 from pkg_resources import (DistributionNotFound, VersionConflict,
 from pkg_resources import (DistributionNotFound, VersionConflict,
                            iter_entry_points)
                            iter_entry_points)
 
 
 import pluggy
 import pluggy
 from flaskbb.utils.helpers import parse_pkg_metadata
 from flaskbb.utils.helpers import parse_pkg_metadata
 
 
+logger = logging.getLogger(__name__)
+
 
 
 class FlaskBBPluginManager(pluggy.PluginManager):
 class FlaskBBPluginManager(pluggy.PluginManager):
     """Overwrites :class:`pluggy.PluginManager` to add FlaskBB
     """Overwrites :class:`pluggy.PluginManager` to add FlaskBB
@@ -30,6 +34,7 @@ class FlaskBBPluginManager(pluggy.PluginManager):
     def load_setuptools_entrypoints(self, entrypoint_name):
     def load_setuptools_entrypoints(self, entrypoint_name):
         """Load modules from querying the specified setuptools entrypoint name.
         """Load modules from querying the specified setuptools entrypoint name.
         Return the number of loaded plugins. """
         Return the number of loaded plugins. """
+        logger.info("Loading plugins under entrypoint {}".format(entrypoint_name))
         for ep in iter_entry_points(entrypoint_name):
         for ep in iter_entry_points(entrypoint_name):
             if self.get_plugin(ep.name):
             if self.get_plugin(ep.name):
                 continue
                 continue
@@ -43,6 +48,7 @@ class FlaskBBPluginManager(pluggy.PluginManager):
             try:
             try:
                 plugin = ep.load()
                 plugin = ep.load()
             except DistributionNotFound:
             except DistributionNotFound:
+                logger.warn("Could not load plugin {}. Passing.".format(ep.name))
                 continue
                 continue
             except VersionConflict as e:
             except VersionConflict as e:
                 raise pluggy.PluginValidationError(
                 raise pluggy.PluginValidationError(
@@ -51,6 +57,11 @@ class FlaskBBPluginManager(pluggy.PluginManager):
             self.register(plugin, name=ep.name)
             self.register(plugin, name=ep.name)
             self._plugin_distinfo.append((plugin, ep.dist))
             self._plugin_distinfo.append((plugin, ep.dist))
             self._plugin_metadata[ep.name] = parse_pkg_metadata(ep.dist.key)
             self._plugin_metadata[ep.name] = parse_pkg_metadata(ep.dist.key)
+            logger.info("Loaded plugin: {}".format(ep.name))
+        logger.info("Loaded {} plugins for entrypoint {}".format(
+            len(self._plugin_distinfo),
+            entrypoint_name
+        ))
         return len(self._plugin_distinfo)
         return len(self._plugin_distinfo)
 
 
     def get_metadata(self, name):
     def get_metadata(self, name):