logger.py 1.0KB

123456789101112131415161718192021222324252627
  1. import logging
  2. class Logger(object):
  3. TPL = '[{cls}] {msg}'
  4. def __init__(self, logger_name):
  5. self._name = logger_name
  6. self._logger = logging.getLogger(self._name)
  7. def _txt(self, instance_or_class):
  8. if instance_or_class.__class__.__name__ in ('function', 'type'):
  9. return instance_or_class.__name__
  10. else:
  11. return instance_or_class.__class__.__name__
  12. def debug(self, instance_or_class, message):
  13. self._logger.debug(Logger.TPL.format(cls=self._txt(instance_or_class), msg=message))
  14. def error(self, instance_or_class, message, exc_info=0):
  15. self._logger.error(Logger.TPL.format(cls=self._txt(instance_or_class), msg=message, exc_info=exc_info))
  16. def info(self, instance_or_class, message):
  17. self._logger.info(Logger.TPL.format(cls=self._txt(instance_or_class), msg=message))
  18. def warning(self, instance_or_class, message):
  19. self._logger.warning(Logger.TPL.format(cls=self._txt(instance_or_class), msg=message))
  20. logger = Logger('tracim')