colorlog的三個例子
阿新 • • 發佈:2018-09-02
ron family 五步 方法 log dha handle 默認 efm
例1:默認的log_colors
import logging from logging.handlers import RotatingFileHandler from colorlog import ColoredFormatter #第一步:創建一個日誌收集器logger logger = logging.getLogger("autotest") #第二步:修改日誌的輸出級別 logger.setLevel(logging.DEBUG) #第三步:設置輸出的日誌內容格式 fmt = "%(log_color)s%(asctime)s %(log_color)s%(filename)s %(log_color)s%(funcName)s [line:%(log_color)s%(lineno)d] %(log_color)s%(levelname)s %(log_color)s%(message)s" datefmt = ‘%a, %d %b %Y %H:%M:%S‘ formatter = ColoredFormatter(fmt=fmt, datefmt=datefmt, reset=True, secondary_log_colors={}, style=‘%‘ ) #設置輸出渠道--輸出到控制臺 hd_1 = logging.StreamHandler()#在handler上指定日誌內容格式 hd_1.setFormatter(formatter) #第五步:將headler添加到日誌logger上 logger.addHandler(hd_1) #第六步:調用輸出方法 logger.debug("我是debug級別的日誌") logger.info("我是info級別的日誌") logger.warning("我是warning級別的日誌") logger.critical("我的critical級別的日誌") logger.error("我是error級別的日誌輸出")
默認的color_colors的值為:
代碼運行結果:
例2:自定義log_colors
import logging from logging.handlers import RotatingFileHandler from colorlog import ColoredFormatter #第一步:創建一個日誌收集器logger logger = logging.getLogger("autotest") #第二步:修改日誌的輸出級別 logger.setLevel(logging.DEBUG) #第三步:設置輸出的日誌內容格式 fmt = "%(log_color)s%(asctime)s %(log_color)s%(filename)s %(log_color)s%(funcName)s [line:%(log_color)s%(lineno)d] %(log_color)s%(levelname)s %(log_color)s%(message)s" datefmt = ‘%a, %d %b %Y %H:%M:%S‘ formatter = ColoredFormatter(fmt=fmt, datefmt=datefmt, reset=True, log_colors={ ‘DEBUG‘:‘cyan‘, ‘INFO‘: ‘green‘, ‘WARNING‘:‘yellow‘, ‘ERROR‘: ‘red‘, ‘CRITICAL‘:‘red,bg_white‘ }, secondary_log_colors={}, style=‘%‘ ) #設置輸出渠道--輸出到控制臺 hd_1 = logging.StreamHandler() #在handler上指定日誌內容格式 hd_1.setFormatter(formatter) #第五步:將headler添加到日誌logger上 logger.addHandler(hd_1) #第六步:調用輸出方法 logger.debug("我是debug級別的日誌") logger.info("我是info級別的日誌") logger.warning("我是warning級別的日誌") logger.critical("我的critical級別的日誌") logger.error("我是error級別的日誌輸出")
代碼運行結果:
例3:secondary_log_color的使用
import logging from logging.handlers import RotatingFileHandler from colorlog import ColoredFormatter #第一步:創建一個日誌收集器logger logger = logging.getLogger("autotest") #第二步:修改日誌的輸出級別 logger.setLevel(logging.DEBUG) #第三步:設置輸出的日誌內容格式 fmt = "%(log_color)s%(asctime)s %(log_color)s%(filename)s %(log_color)s%(funcName)s [line:%(log_color)s%(lineno)d] %(log_color)s%(levelname)s %(message_log_color)s%(message)s" datefmt = ‘%a, %d %b %Y %H:%M:%S‘ formatter = ColoredFormatter(fmt=fmt, datefmt=datefmt, reset=True, secondary_log_colors={ ‘message‘: { ‘ERROR‘: ‘red‘, ‘CRITICAL‘: ‘yellow‘, ‘WARNING‘: ‘green‘ } }, style=‘%‘ ) #設置輸出渠道--輸出到控制臺 hd_1 = logging.StreamHandler() #在handler上指定日誌內容格式 hd_1.setFormatter(formatter) #第五步:將headler添加到日誌logger上 logger.addHandler(hd_1) #第六步:調用輸出方法 logger.debug("我是debug級別的日誌") logger.info("我是info級別的日誌") logger.warning("我是warning級別的日誌") logger.critical("我的critical級別的日誌") logger.error("我是error級別的日誌輸出")
代碼運行結果:
colorlog的三個例子