Spaces:
Paused
Paused
| import os, sys | |
| sys.path.append(os.path.dirname(os.path.realpath(__file__))) | |
| import logging | |
| from dataclasses import dataclass | |
| class Colors: | |
| grey: str = "\x1b[38;20m" | |
| blue: str = "\x1b[34;20m" | |
| bold_blue: str = "\x1b[34;1m" | |
| yellow: str = "\x1b[33;20m" | |
| red: str = "\x1b[31;20m" | |
| bold_red: str = "\x1b[31;1m" | |
| reset: str = "\x1b[0m" | |
| class ColorFormatter(logging.Formatter): | |
| colors = Colors() | |
| format = "[%(asctime)s %(name)s %(levelname)s] %(message)s" | |
| datefmt="%Y-%m-%d %H:%M:%S" | |
| FORMATS = { | |
| logging.DEBUG: colors.grey + format + colors.reset, | |
| logging.INFO: colors.grey + format + colors.reset, | |
| logging.WARNING: colors.yellow + format + colors.reset, | |
| logging.ERROR: colors.red + format + colors.reset, | |
| logging.CRITICAL: colors.bold_red + format + colors.reset | |
| } | |
| def format(self, record): | |
| log_fmt = self.FORMATS.get(record.levelno) | |
| formatter = logging.Formatter(log_fmt, datefmt=self.datefmt) | |
| return formatter.format(record) | |
| formatter = logging.Formatter( | |
| fmt="[%(asctime)s %(name)s %(levelname)s] %(message)s", | |
| datefmt="%Y-%m-%d %H:%M:%S", | |
| ) | |
| handler = logging.StreamHandler() | |
| handler.setFormatter(ColorFormatter()) | |
| handler.setLevel(logging.INFO) | |
| logger = logging.getLogger("mia") | |
| logger.setLevel(logging.INFO) | |
| logger.addHandler(handler) | |
| logger.propagate = False |