实时

您的位置:首页>资讯 >

Python 打印彩色日志

我相信每一个开发者都有打印日志的习惯,好看的日志可以加快调试的速度,可以更好的了解程序中发生的事情。本文分享一个技巧,可以让 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-02 16:39:28

劳累一天回家,最舒服的一件事是什么?泡脚!为什么泡脚会那么舒服?小小的一只脚,拥有60多个穴位,包含了全身的反射区,泡脚能驱寒、除湿气

2023-01-02 00:27:40

步骤取出西瓜瓤,用榨汁机榨汁。待用。糯米粉加水,调成稀糊状,倒入锅里加热至浓稠,即熟了。熟的糯米糊加入西瓜汁中,搅拌均匀。倒入雪糕磨

2023-01-01 08:16:17

根据第三百九十条规定,对行贿罪的处罚有以下情形:1、对一般行贿罪,处五年以下有期徒刑或拘役;2、因行贿谋取不正当利益,情节严重的,或者使

2022-12-31 16:31:33

因城施策支持刚性和改善性住房需求,做好新市民、青年人等住房金融服务,维护住房消费者合法权益,确保房地产市场平稳发展。会议要求,构建金

2022-12-30 22:41:34

近年来,阳光保险秉持“以客户为中心”的服务理念,主动发挥保险主业优势,积极参与社会治理,持续推进城乡居民大病保险、职工大额医保、长期

2022-12-30 18:51:36

千龙网讯(记者刘美君)为保障元旦期间北京市环境秩序稳定,大兴城管执法系统开展元旦期间环境秩序专项执法保障工作,针对辖区

2022-12-30 15:49:04

区域等级车辆类型现收费标准新收费标准包月收费(月 车)日间夜间(不调整)日间夜间(不调整)地铁、公交换乘一级小型车1 5元 半小时1 0元 1

2022-12-30 10:44:36

私募行业严监管态势下,多地证监局加强对私募机构的监管力度。据《经济参考报》记者不完全统计,截至12月29日,12月以来已有20余家私募机构被

2022-12-30 06:51:34

“梦回去年,去年我和小孙(孙东旭)从8点直播好几个小时”,“去年直播的时候,我们怎么能想到有自营的车厘子”……12月28日,东方甄选周年庆

2022-12-29 20:15:36

2019年,他的女儿常小梅所著的《南京大屠杀幸存者常志强的生活史》中日英文版相继出版

2022-12-29 18:20:17

长春净月高新区:“邻里互助,我‘药’帮你”

2022-12-29 16:19:10

2022年12月28日中科金财融资净偿还1593 35万元,融资余额3 43亿元

2022-12-29 14:00:55

挖贝网12月28日,瑞可达(688800)发布2022年年度业绩预告预计2022年年度实现归属于母公司所有者的净利润为24,873 00万元到27,230 20万元,与

2022-12-29 11:57:08

本文是中国大学慕课《机器学习》的“集成学习”章节的课后代码。课程地址:https: www icourse163 org course WZU-1464096

2022-12-29 10:04:47

12月24日,有媒体消息称特斯拉(TESLA)的上海工厂已经停产,当日的早班被取消制造中心的工人们被告知可以开始休假,具体原因不明。但特斯拉中

2022-12-28 18:01:19

12月28日消息,有外媒曝光了小米新机POCOC50的发布时间:1月3日。此前曾有消息表示这款手机将会于11月在印度发布,但是小米推迟了发布时间。小

2022-12-28 14:59:58

中新网12月28日电据俄新社报道,当地时间27日,俄罗斯总统普京给一位8岁的扎波罗热小女孩打电话,祝贺即将到来的新年,普京问道,“我知道你们

2022-12-28 11:16:05

截至2022年12月27日收盘,东微半导(688261)报收于240 22元,上涨2 75%,换手率3 43%,成交量5163 33手,成交额1 23亿元。

2022-12-28 07:56:44

12月27日,名家汇及总裁程宗玉、时任董秘臧显峰、董秘朱业朋、财务总监阎军及时任副董事长李鹏志收深圳证监局警示函。公司因部分事项审议程序

2022-12-27 20:01:26