34 lines
805 B
Python
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)
|