您当前的位置: 首页 > 区域经济 > > 内容页

Python 打印彩色日志|焦点播报

来源: 2023-01-01 23:33:00

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

最后的话

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

上一篇 下一篇
x
推荐阅读 更多
Python 打印彩色日志|焦点播报

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

2023-01-01
协议离婚后能要回彩礼吗

协议离婚后不能要回彩礼,除非双方结婚后没有共同生活,或者婚前给付彩礼的行为导致男方生活困难的,那么这两种情况下离婚的,男方可以要求退

2023-01-01
我国力争到2025年规划完成沙化土地治理任务1亿亩 世界实时

新华社北京12月30日电(记者严赋憬)国家林草局、国家发展改革委、财政部、自然资源部、生态环境部、水利部、农业农村部等七部门近日联合印发

2022-12-31
世界今亮点!信阳市商城县河凤桥乡:持续推进厕所革命 打造宜居美丽乡村

小厕所关系大民生。厕所革命是改善人居环境,树牢文明乡风,推动乡村振兴的重要举措。近年来,信阳市商城县河凤桥乡在农村改厕工作上下大力气

2022-12-30
焦点消息!锦江区3-11岁人群儿童新冠疫苗到苗通知(持续更新)

接种疫苗,是预防和控制传染病最经济有效的方式,锦江区元旦节期间新冠疫苗接种安排如下:18以下不能接种加强针,与此同时,所有新冠疫苗接种

2022-12-30
全球动态:如何通过外表分辨茶叶的好坏?

一款茶的外形分为:紧结度、均整度、悦目度,这些用词都是字面意思。次茶外形的第一个特征,不够紧结。紧结度,就是茶形的紧结程度,越紧结越

2022-12-30
环球观焦点:凯淳股份(301001)12月29日主力资金净卖出46.03万元

截至2022年12月29日收盘,凯淳股份(301001)报收于20 46元,下跌3 08%,换手率4 67%,成交量1 61万手,成交额3329 86万元。

2022-12-30
惠城小金口金石花园核酸检测指引

核酸采样地点:小金口金石花园接种门诊侧面上班时间:9:00-12:30,14:30-20:00核酸价格:单采12 5元 人相关说明:1、因近期样本量较大,由于核

2022-12-30
热门:西安血氧仪怎么使用

血氧仪使用方法:1、血氧仪会显示血氧和心率两个数字。血氧饱和度的缩写为SpO2,心率的缩写为PR。2、指夹式血氧仪测量时夹住食指。使用血氧仪

2022-12-29
天天速讯:公安部:全年共侦办跨境赌博相关犯罪案件3.7万余起

中新网12月29日电据公安部网站消息,2022年,全国公安机关积极会同有关部门持续采取最严厉的措施打击治理跨境赌博犯罪,不断巩固扩大打击治理

2022-12-29