# -*- coding: utf-8 -*- import logging class Logger(object): """ Global logger """ TPL = '[{cls}] {msg}' def __init__(self, logger_name): self._name = logger_name self._logger = logging.getLogger(self._name) @classmethod def _txt(cls, instance_or_class): if instance_or_class.__class__.__name__ in ('function', 'type'): return instance_or_class.__name__ else: return instance_or_class.__class__.__name__ def debug(self, instance_or_class, message): self._logger.debug( Logger.TPL.format(cls=self._txt(instance_or_class), msg=message) ) def error(self, instance_or_class, message, exc_info=0): self._logger.error( Logger.TPL.format( cls=self._txt(instance_or_class), msg=message, exc_info=exc_info ) ) def info(self, instance_or_class, message): self._logger.info( Logger.TPL.format(cls=self._txt(instance_or_class), msg=message) ) def warning(self, instance_or_class, message): self._logger.warning( Logger.TPL.format(cls=self._txt(instance_or_class), msg=message) ) logger = Logger('tracim')