import logging class Logger(object): configured = False @staticmethod def configure(**kwargs): FORMAT = kwargs.get('format', '%(levelname)s: %(message)s') logging.basicConfig(format=FORMAT, **kwargs) Logger.configured = True def format_message(self, message): if not Logger.configured: Logger.configure() return '%s: %s' % (self.__class__.__name__, message) def debug(self, message): logging.debug(self.format_message(message)) def info(self, message): logging.info(self.format_message(message)) def warning(self, message): logging.warning(self.format_message(message)) def error(self, message): logging.error(self.format_message(message)) def critical(self, message): logging.critical(self.format_message(message)) def log(self, level, message): logging.critical(self.format_message(message))