logger.py 957 B

1234567891011121314151617181920212223242526272829303132333435
  1. import logging
  2. class Logger(object):
  3. configured = False
  4. @staticmethod
  5. def configure(**kwargs):
  6. FORMAT = kwargs.get('format', '%(levelname)s: %(message)s')
  7. logging.basicConfig(format=FORMAT, **kwargs)
  8. Logger.configured = True
  9. def format_message(self, message):
  10. if not Logger.configured:
  11. Logger.configure()
  12. return '%s: %s' % (self.__class__.__name__, message)
  13. def debug(self, message):
  14. logging.debug(self.format_message(message))
  15. def info(self, message):
  16. logging.info(self.format_message(message))
  17. def warning(self, message):
  18. logging.warning(self.format_message(message))
  19. def error(self, message):
  20. logging.error(self.format_message(message))
  21. def critical(self, message):
  22. logging.critical(self.format_message(message))
  23. def log(self, level, message):
  24. logging.critical(self.format_message('CRITICAL', message))