【全球新要闻】Python 打印彩色日志
我相信每一个开发者都有打印日志的习惯,好看的日志可以加快调试的速度,可以更好的了解程序中发生的事情。本文分享一个技巧,可以让 Python 在控制台输出彩色的日志。
安装 coloredlogspipinstallcoloredlogs使用
首先,和正常打印日志一样,我们创建一个 logger
【资料图】
logging.basicConfig()logger=logging.getLogger(name="mylogger")
然后,把 logger 安装到 coloredlogs:
coloredlogs.install(logger=logger)logger.propagate=False
logger.propagate = False确保 coloredlogs 不会将我们的日志事件传递给根 logger,这可以防止我们重复记录每个事件。
我们想为我们的控制台输出添加一些样式,可以在这里定义:
coloredFormatter=coloredlogs.ColoredFormatter(fmt="[%(name)s]%(asctime)s%(funcName)s%(lineno)-3d%(message)s",level_styles=dict(debug=dict(color="white"),info=dict(color="blue"),warning=dict(color="yellow",bright=True),error=dict(color="red",bold=True,bright=True),critical=dict(color="black",bold=True,background="red"),),field_styles=dict(name=dict(color="white"),asctime=dict(color="white"),funcName=dict(color="white"),lineno=dict(color="white"),))
接下来就和正常使用日志一样了,配置一个流处理器,让日志显示在控制台:
ch=logging.StreamHandler(stream=sys.stdout)ch.setFormatter(fmt=coloredFormatter)logger.addHandler(hdlr=ch)logger.setLevel(level=logging.DEBUG)
接下来就可以输入日志信息了:
logger.debug(msg="thisisadebugmessage")logger.info(msg="thisisaninfomessage")logger.warning(msg="thisisawarningmessage")logger.error(msg="thisisanerrormessage")logger.critical(msg="thisisacriticalmessage")
效果图如下:
完整代码如下:
importloggingimportcoloredlogsimportsys##配置loggerlogging.basicConfig()logger=logging.getLogger(name="mylogger")coloredlogs.install(logger=logger)logger.propagate=False##配置颜色coloredFormatter=coloredlogs.ColoredFormatter(fmt="[%(name)s]%(asctime)s%(funcName)s%(lineno)-3d%(message)s",level_styles=dict(debug=dict(color="white"),info=dict(color="blue"),warning=dict(color="yellow",bright=True),error=dict(color="red",bold=True,bright=True),critical=dict(color="black",bold=True,background="red"),),field_styles=dict(name=dict(color="white"),asctime=dict(color="white"),funcName=dict(color="white"),lineno=dict(color="white"),))##配置StreamHandlerch=logging.StreamHandler(stream=sys.stdout)ch.setFormatter(fmt=coloredFormatter)logger.addHandler(hdlr=ch)logger.setLevel(level=logging.DEBUG)##outputlogger.debug(msg="thisisadebugmessage")logger.info(msg="thisisaninfomessage")logger.warning(msg="thisisawarningmessage")logger.error(msg="thisisanerrormessage")logger.critical(msg="thisisacriticalmessage")最后的话
本文分享了一种输出彩色日志的方法,感觉不错的话,请分享给身边的程序员们,祝编码愉快。

郑州管城区、二七区今天开展核酸检测,最全采样点看这里
今天(5月18日)郑州市管城区7:00—17:00二七区9:00—16:00开展核酸检测管城回族区新冠肺炎疫情防控指挥部办公室关于在全区范围开展新冠病
2022-05-19郑州发布99号通告:调整封控管控区域
郑州市新冠肺炎疫情防控指挥部办公室关于调整封控管控区域的通告(2022年99号)根据疫情形势变化,经郑州市疫情防控指挥部研究,自5月18日
2022-05-195月17日河南新增本土确诊病例3例、本土无症状感染者8例
5月17日0—24时,全省新增本土确诊病例3例(郑州市3例),含1例无症状感染者转确诊病例(在郑州市),新增本土无症状感染者8例(郑州市6例
2022-05-19
【行走郑州·读懂最早中国】锁定“云游麦田里的博物馆”直播,探寻最早中国
黄河孕育华夏,麦穗延续苍生,文物折射历史,历史照亮未来。看直播 抽门票为全面展示郑州城市魅力,深入塑造行走郑州·读懂最早中国品牌体
2022-05-19郑州约谈百果园郑州地区负责人
今日记者获悉,针对近期成都、武汉相继曝出百果园销售腐败变质水果切盘的负面新闻,为全面加强能力作风建设,严格落实国家食品安全示范城市
2022-05-19
全力备汛!郑州94支队伍10313人集结到位
记者从近日召开的郑州市2022年城市防汛工作会议上了解到,郑州市组建了94支共10313人的防汛应急抢险队伍。目前,这些队伍正在全力备汛。据
2022-05-19
【行走河南·读懂中国】河南四大文旅集团入榜全国文旅集团品牌影响力百强
2022年5月16日,迈点研究院发布《2022年4月中国文旅业发展报告》,河南省的四个知名文旅集团,银基文旅集团、建业文旅、洛阳文旅集团、河南
2022-05-19
图集|来自郑州五月的浪漫,闯入莫奈的花园
遇见郑州五月的浪漫,走进这片虞美人和矢车菊的花海,彷佛置身于莫奈的花园。色彩缤纷的花儿在微风中摇曳生姿,好似步入童话般的世界。
2022-05-19郑州市普通中专采用网上报名 志愿填报时间为5月22日〜25日
5月17日上午,《2022年郑州市普通中等专业学校招生工作意见》发布,今年,郑州市普通中专采用网上报名。普通中专志愿填报时间为5月22日至25
2022-05-19
援沪情深!上海浦东张江方舱医院今日胜利休舱
休舱啦,胜利啦。5月17日上午,随着最后46名新冠肺炎患者康复出舱,由河南、内蒙两省援沪医疗队先后托管的上海张江方舱医院正式闭舱。上海
2022-05-19X 关闭

X 关闭