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

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")

最后的话

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

关键词: 正常使用
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

Copyright ©  2015-2022 南方数据网版权所有  备案号:粤ICP备18023326号-21   联系邮箱:855 729 8@qq.com