| import logging | |
| import sys | |
| class ColorCode: | |
| RESET = "\033[0m" | |
| BLACK = "\033[0;90m" | |
| CYAN = "\033[0;36m" | |
| YELLOW = "\033[0;33m" | |
| RED = "\033[0;31m" | |
| MAP = { | |
| "DEBUG": BLACK, | |
| "INFO": CYAN, | |
| "WARNING": YELLOW, | |
| "ERROR": RED, | |
| } | |
| class ColoredFormatter(logging.Formatter): | |
| def format(self, record): | |
| levelname = record.levelname | |
| record.levelname = f"{ColorCode.MAP[levelname]}{levelname}{ColorCode.RESET}" | |
| return super().format(record) | |
| logger = logging.getLogger("ChunkWeight") | |
| logger.setLevel(logging.INFO) | |
| logger.propagate = False | |
| if not logger.handlers: | |
| handler = logging.StreamHandler(sys.stdout) | |
| handler.setFormatter(ColoredFormatter("[%(name)s] %(levelname)s - %(message)s")) | |
| logger.addHandler(handler) | |