| import logging | |
| import sys | |
| import colorlog | |
| formatter = colorlog.ColoredFormatter( | |
| "%(asctime)s [%(blue)s%(name)s:%(lineno)s%(reset)s] [%(log_color)s%(levelname)s%(reset)s] >>>> %(message)s", | |
| log_colors={ # 'DEBUG': cyan', | |
| 'INFO': 'green', | |
| 'WARNING': 'yellow', | |
| 'ERROR': 'red', | |
| 'CRITICAL': 'red,bg_white', | |
| } | |
| ) | |
| stream_handler = colorlog.StreamHandler(stream=sys.stdout) | |
| stream_handler.setFormatter(formatter) | |
| def setup_logger(name, level=logging.DEBUG): | |
| """Setup a logger with the given name and level. | |
| :param name: The name of the logger. | |
| :param level: The level of the logger. | |
| :return: The logger. | |
| """ | |
| logger = logging.getLogger(name) | |
| logger.setLevel(level) | |
| logger.addHandler(stream_handler) | |
| return logger | |