实时

您的位置:首页>产品 >

全球看点: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-01 08:09:34

证券时报e公司讯,五粮液近日接待机构调研在预判2023年形势时表示,白酒产业结构性繁荣正在加快演进,增长是长期性趋势,展现出强有力的发展潜

2022-12-31 15:54:57

参考消息网12月30日报道据拉美社12月28日报道,在调整优化防控措施并允许更大规模的人口流动之后,中国28日宣布了在短

2022-12-30 22:03:05

2022年12月30日,炬光科技发生7笔大宗交易,总成交132 8万股,成交金额1 21亿元,成交均价91 32元,折价2 16%。

2022-12-30 18:37:20

华融信托变更股权获批信保基金将获其76 79%股权2022年12月30日13:37中国网财经

2022-12-30 15:36:28

证券时报网讯,据重庆日报12月29日从重庆市发改委了解到,今年前三季度,川渝两地克服高温干旱、缺电保供、疫情频发等影响,成渝地区双城经济

2022-12-30 10:24:12

网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可

2022-12-30 05:08:10

在这个月还没感染之前,荀秀梅像往常一样,每周要往10位老人家里跑,提供上门的长护险服务。只是每次出门,她会戴2层帽子、2只口罩,口罩和口

2022-12-29 20:02:12

中金黄金(600489)12月29日在投资者关系平台上答复了投资者关心的问题。

2022-12-29 18:09:36

中关村在线消息:12月29日,美股三大指数集体收跌,以php苹果、微软android、特斯拉为首的一系列科技股再次大规模下跌。详细来看,苹果(AAPL)大跌3

2022-12-29 15:55:45

【中国通号:通号电气化局连中三标】据中国通号消息,通号电气化局连续中标郑州枢纽郑州南站及陇海外绕线工程大机检修基地、焊轨基地拆迁还建

2022-12-29 13:46:03

中国北京市朝阳区建国路 77 号华贸中心 3 号写字楼 34 层          邮政编码 100025         电话:(86-10)5809-100

2022-12-29 11:55:14

​在美国西部,太平洋沿岸各州正在遭遇暴雨、强风和巨浪。

2022-12-29 09:47:18

行纪合同当事人有留置权。行纪合同是指行纪人以自己的名义为委托人从事贸易活动,委托人支付报酬的合同。行纪人完成或者部分完成委托事务的,

2022-12-28 17:28:01

力劲科技(00558 HK)早盘一度跌超15%,截至发稿,跌10 61%,报6 15港元,成交额1 26亿港元。

2022-12-28 14:49:22

2022彩云消费券乐购景洪第三期使用规则使用细则一、领券时间:2022年12月28日至2023年1月3日(12月28日11:00:00开始领券)使用时间:202

2022-12-28 10:59:01

可以放冷冻室短暂保存。温度较高的话不能常温保存,可以将板栗的外壳和内膜剥掉,将表面的水分吹干,然后用保鲜膜包裹起来,一次能多多少就按

2022-12-28 07:24:58

>>>申请表下载入口申请人需如实填写《无犯罪记录证明申请表》,并提供说明申请事由的相关材料。军队、国家机关和企事业单位申请查询公民个人有

2022-12-27 19:26:23

截至2022年12月27日收盘,三元基因(837344)报收于16 87元,下跌1 63%,换手率0 16%,成交量1822 93手,成交额306 76万元。

2022-12-27 15:39:11

北京日报客户端|记者代丽丽新年即将到来,为让市民游客享受冰雪运动,感受快乐健身的乐趣,今年,颐和园、北海、陶然亭、紫竹院及玉渊潭5家市

2022-12-27 10:35:58