彩色日志工具
日志可以颜色更加丰富,以区分不同的等级 可以使用自带的logging 系统标准库logging
import logging# 定义全局日志开关
GLOBAL_LOG_ENABLE = True# 全局日志等级
GLOBAL_LOG_LEVEL = logging.NOTSET# 定义不同级别的日志颜色
COLORS = {'DEBUG': '\033[1;32m', # 绿色'INFO': '\033[1;34m', # 蓝色'WARNING': '\033[38;5;208m', # 橙色'ERROR': '\033[1;31m', # 红色'CRITICAL': '\033[1;35m', # 紫色
}def get_logger(name, log_level=logging.DEBUG):logger = logging.getLogger(name)if not GLOBAL_LOG_ENABLE:logger.disabled = Truereturn loggerif GLOBAL_LOG_LEVEL > logging.NOTSET:log_level = GLOBAL_LOG_LEVELlogger.setLevel(log_level)# 定义控制台输出的handlerconsole_handler = logging.StreamHandler()console_handler.setLevel(log_level)# 定义不同级别的日志输出颜色for level, color in COLORS.items():logging.addLevelName(getattr(logging, level), f'{color}{level}{color}')# 定义输出格式formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s: %(message)s')# 定义控制台输出的格式console_handler.setFormatter(formatter)# 添加handlerlogger.addHandler(console_handler)return loggerif __name__ == '__main__':logger = get_logger(__name__)logger.critical("-------------------------------------------log_level=Default")logger.debug('debug message')logger.info('info message')logger.warning('warning message')logger.error('signal_error message')logger.critical('critical message')logger = get_logger("test", log_level=logging.ERROR)logger.critical("-------------------------------------------log_level=logging.ERROR")logger.debug('debug message')logger.info('info message')logger.warning('warning message')logger.error('signal_error message')logger.critical('critical message')print("print-----------------------------")
三方日志库loguru
安装:
pip install loguru
from loguru import logger
import sys# 定义全局日志开关
GLOBAL_LOG_ENABLE = Trueif GLOBAL_LOG_ENABLE:logger.enable("")
else:logger.disable("")# 移除默认的日志处理器
logger.remove()
# 设置控制台日志级别
logger.add(sink=sys.stdout, level="DEBUG")if __name__ == '__main__':# 示例日志记录logger.debug("这是一个调试日志")logger.info("这是一个信息日志")logger.warning("这是一个警告日志")logger.error("这是一个错误日志")logger.critical("这是一个严重错误日志")print("print-------------------------------------------")