your-workflow/backend/app/core/logger.py

34 lines
805 B
Python

import logging
# 定义颜色
RESET = "\033[0m"
COLORS = {
"DEBUG": "\033[36m", # 青色
"INFO": "\033[32m", # 绿色
"WARNING": "\033[33m", # 黄色
"ERROR": "\033[31m", # 红色
"CRITICAL": "\033[41m", # 红底
}
class ColorFormatter(logging.Formatter):
def format(self, record):
color = COLORS.get(record.levelname, RESET)
record.levelname = f"{color}{record.levelname}{RESET}"
return super().format(record)
# 创建 logger
logger = logging.getLogger("workflow")
logger.setLevel(logging.DEBUG)
# 创建控制台 handler
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# 设置带颜色的 formatter
formatter = ColorFormatter("%(levelname)s: \t %(name)s - %(asctime)s\n%(message)s")
ch.setFormatter(formatter)
logger.addHandler(ch)