控制台输出的log加颜色

首先,log输出是可以加颜色的,但是,如果是写入文件,要看文件支持不支持颜色显示,如果文件不支持颜色显示,加了也没用,已知,控制台是可以加颜色的

那就给控制台输出的log加颜色,因为加不加颜色只有一行代码的区别,所以,以下程序将加颜色和不加颜色的code写在一起,把其中一行注释掉,就能实现加颜色或者不加颜色:

import logging
import colorlog
logger=logging.getLogger()
streamhandler=logging.StreamHandler()
streamhandler.setLevel(logging.INFO)
logger.setLevel(logging.INFO)
#formater=logging.Formatter("%(asctime)s-%(message)s")#不加颜色
formater=colorlog.ColoredFormatter("%(log_color)s%(asctime)s-%(message)s")#加颜色
streamhandler.setFormatter(formater)
logger.addHandler(streamhandler)
logger.warning("warning")
logger.info("info")
logger.error("error")



另如果想自定义颜色(其实没什么必要因为colorlog里的颜色就那么几种)可以如下

import logging
import colorlog
logger=logging.getLogger()
streamhandler=logging.StreamHandler()
streamhandler.setLevel(logging.INFO)
logger.setLevel(logging.INFO)
#formater=logging.Formatter("%(asctime)s-%(message)s")#不加颜色
log_color={'DEBUG':'cyan',
'INFO': 'red',
'WARNING':'yellow',
'ERROR': 'red',
'CRITICAL':'red,bg_white'}
formater=colorlog.ColoredFormatter(fmt="%(log_color)s%(asctime)s-%(message)s",log_colors=log_color)#加颜色
streamhandler.setFormatter(formater)
logger.addHandler(streamhandler)
logger.warning("warning")
logger.info("info")
logger.error("error")

可以用的颜色一共有:
COLORS = [
'black',
'red',
'green',
'yellow',
'blue',
'purple',
'cyan',
'white'
]

注:我的代码这样放着好丑,但是我也没办法,总有一天我不会这样插入代码,我卑微的期盼,哈哈哈


posted @ 2020-12-23 08:37  mghhz816  阅读(989)  评论(0编辑  收藏  举报