Python 打印彩色日志|焦点简讯

2023-01-01 23:59:39

我相信每一个开发者都有打印日志的习惯,好看的日志可以加快调试的速度,可以更好的了解程序中发生的事情。本文分享一个技巧,可以让 Python 在控制台输出彩色的日志。


【资料图】

安装 coloredlogs

pipinstallcoloredlogs

使用

首先,和正常打印日志一样,我们创建一个 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")

最后的话

本文分享了一种输出彩色日志的方法,感觉不错的话,请分享给身边的程序员们,祝编码愉快。

标签 正常使用

Python 打印彩色日志|焦点简讯

我相信每一个开发者都有打印日志的习惯,好看的日志可以加快调试的速度,可以更好的了解程序中发生的事...

2023-01-01 23:59:39

环球视讯!邢台新河县交通违章怎么处理?

1、车辆行驶证原件或复印件;2、车辆驾驶人驾驶证原件;3、车辆驾驶人身份证原件;4、现金和银行卡。5、交...

2023-01-01 07:43:37

牛肉和羊肉哪个对人身体好?:快播报

牛肉和羊肉都是温补类的肉。不能说谁的营养价值更高,因为个人体质不同,再有营养的东西,对于消化吸收...

2022-12-31 15:36:43

2023年陕西省省考报名入口在哪里?:天天时快讯

2023陕西省考公告暂未公布,一般在2023年2、3月份,参考2022陕西省考报名入口以及注意事项如下一、报名...

2022-12-30 20:20:40

焦点快播:江北区设计合同纠纷律师收费明细

(一)不涉及财产关系的:2000元-30000元 件。上下浮动幅度:20%但收费额不足2000元的按2000元收取。(二)...

2022-12-30 18:17:11

全球今头条!灵康药业董秘回复:目前还未涉及眼科项目,后续如有涉及将严格按照法律法规的要求进行披露

灵康药业(603669)12月30日在投资者关系平台上答复了投资者关心的问题。

2022-12-30 15:21:41

河南省民权县:发展绘画产业 带动农民就业

随着画作销量增加,王公庄村成为远近闻名的绘画村,村民纷纷放下锄头,拿起画笔,拜师学艺,成为专职画...

2022-12-30 09:27:43

支持开票 | Python实证指标构建与文本分析

付费课程|支持开票|购前咨询微信372335839概览为何要学Python?在科学研究中,数据的获取及分析是最重要...

2022-12-30 01:23:11

【当前热闻】交通运输部:已建立医疗物资运输保障日调度制度

交通运输部运输服务司副司长王绣春在“疫情防控重点医疗物资保障情况”新闻发布会上表示,交通运输部会...

2022-12-29 19:35:30

头条:NBA战报丨神仙打架!公牛加时119-113逆转雄鹿,字母哥45+22德罗赞42+10

北京时间12月29日,NBA常规赛继续进行,雄鹿在客场以113-119加时不敌公牛,雄鹿遭遇四连败,公牛最近5场...

2022-12-29 17:29:22
x 广告
x 广告

Copyright  2015-2022 热讯粮油网版权所有  备案号:豫ICP备20005723号-6   联系邮箱:29 59 11 57 8@qq.com