diff options
Diffstat (limited to 'tutorius/addon.py')
-rw-r--r-- | tutorius/addon.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/tutorius/addon.py b/tutorius/addon.py index ca729ae..1fd5143 100644 --- a/tutorius/addon.py +++ b/tutorius/addon.py @@ -78,9 +78,16 @@ def create(name, *args, **kwargs): comp_metadata = _cache[name] try: return comp_metadata['class'](*args, **kwargs) - except: - logging.debug("Could not instantiate %s with parameters %s, %s"%(comp_metadata['name'],str(args), str(kwargs))) - return None + except Exception, e: + LOGGER.error("Could not instantiate %s with parameters %s, %s"%\ + (comp_metadata['name'],str(args), str(kwargs))) + + # fetch frame information to complement exception with traceback + type, value, tb = sys.exc_info() + formatted_tb = traceback.format_tb(tb) + LOGGER.error('Error loadin tutorius add-on named [%s]:\n%s\n%s' % \ + (name, '\n'.join(formatted_tb), str(e))) + return None except KeyError: logging.debug("Addon not found for class '%s'", name) return None |