File size: 1,452 Bytes
8499730 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
import logging
import colorlog
# 自定义日志等级
SUCCESS_LEVEL_NUM = 25
logging.addLevelName(SUCCESS_LEVEL_NUM, "SUCCESS")
def success(self, message, *args, **kwargs):
if self.isEnabledFor(SUCCESS_LEVEL_NUM):
self._log(SUCCESS_LEVEL_NUM, message, args, **kwargs)
logging.Logger.success = success # 添加方法到 Logger 类
def get_logger(level=logging.INFO) -> logging.Logger:
# 创建logger对象
logger = logging.getLogger("DataFlow")
if not logger.handlers:
logger.setLevel(level)
# 创建控制台日志处理器
console_handler = logging.StreamHandler()
console_handler.setLevel(level)
# 定义颜色输出格式
color_formatter = colorlog.ColoredFormatter(
'%(log_color)s %(asctime)s | %(filename)-20s- %(module)-20s- %(funcName)-20s- %(lineno)5d - %(name)-10s | %(levelname)8s | Processno %(process)5d - Threadno %(thread)-15d : %(message)s',
log_colors={
'DEBUG': 'cyan',
# 'INFO': 'white',
'SUCCESS': 'green',
'WARNING': 'yellow',
'ERROR': 'red',
'CRITICAL': 'red,bg_white',
}
)
# 将颜色输出格式添加到控制台日志处理器
console_handler.setFormatter(color_formatter)
# 将控制台日志处理器添加到logger对象
logger.addHandler(console_handler)
return logger |