Spaces:
Runtime error
Runtime error
| import os | |
| import logging | |
| from datetime import datetime | |
| # pylint: disable=broad-except | |
| class Logger: | |
| def __init__(self, module=None): | |
| self.module = module | |
| log_level = os.environ.get("DEEPFACE_LOG_LEVEL", str(logging.INFO)) | |
| try: | |
| self.log_level = int(log_level) | |
| except Exception as err: | |
| self.dump_log( | |
| f"Exception while parsing $DEEPFACE_LOG_LEVEL." | |
| f"Expected int but it is {log_level} ({str(err)})." | |
| "Setting app log level to info." | |
| ) | |
| self.log_level = logging.INFO | |
| def info(self, message): | |
| if self.log_level <= logging.INFO: | |
| self.dump_log(f"{message}") | |
| def debug(self, message): | |
| if self.log_level <= logging.DEBUG: | |
| self.dump_log(f"🕷️ {message}") | |
| def warn(self, message): | |
| if self.log_level <= logging.WARNING: | |
| self.dump_log(f"⚠️ {message}") | |
| def error(self, message): | |
| if self.log_level <= logging.ERROR: | |
| self.dump_log(f"🔴 {message}") | |
| def critical(self, message): | |
| if self.log_level <= logging.CRITICAL: | |
| self.dump_log(f"💥 {message}") | |
| def dump_log(self, message): | |
| print(f"{str(datetime.now())[2:-7]} - {message}") | |
| def get_singletonish_logger(): | |
| # singleton design pattern | |
| global model_obj | |
| if not "model_obj" in globals(): | |
| model_obj = {} | |
| if "logger" not in model_obj.keys(): | |
| model_obj["logger"] = Logger(module="Singleton") | |
| return model_obj["logger"] | |