Python 打印彩色日志_当前关注
2023-01-02 16:43:05    

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

青岛章丘职工产假休多少天-新动态

【四川脑科】婴儿脑瘫症状是怎么样的{排行榜前十脑科医院}-今亮点

解除合同导致公司解散怎么办|通讯

焦点消息!羊没羊,好像也没那么重要了!

新鲜猪脑怎么挑 新鲜猪脑如何挑选

焦点资讯:行易贷逾期不还会上征信吗?

四川实现拿房产证“最多跑一次”-全球速看

央行放量逆回购带动资金面宽松 隔夜利率创历史新低

天天快讯:G360文临公路构建琼北一小时交通圈

世界快资讯:小鲨易贷借款逾期半年不还征信有什么影响

世界球精选!荔枝花开迎客来 科技赋能助丰收

天天快讯:豫园股份:控股股东下属复地投资质押1600万股

岚图汽车在挪威开启用户交付:针对本地化需求进行调整,售价超 50 万元

做零食批发!你可以这样搞

栀子花什么季节能开放的 栀子花哪个季节是花期呢

宝馨科技董秘回复:公司作为光伏行业的一员,非常期待看到因技术进步和供需关系平衡所推动的度电成本持续下降_世界今头条

环球微资讯!康泰医学董秘回复:血氧仪作为公司自主研发的拳头产品之一

中视传媒(600088)12月27日主力资金净卖出78.41万元

3299 元起,小米 Redmi K60 Pro 发布:全球要闻

安吉尔净水年货节热浪来袭,高端科技为健康生活加码

中汽协:1-11月汽车制造业利润4763.0亿元 同比增加0.3%|当前观察

青春不过几场世界杯-天天视点

电投能源: 关于非公开发行股票申请获得中国证监会发审委审核通过的公告

每日观点:44岁秦海璐全家出游!背万元包素颜显浮肿,患巨婴症儿子超惹眼

每日消息!哈登赛后晒穿搭:圣诞配色绒毛外套+粉红色头套

杭州日采购退烧类药物近10万盒 调拨退烧药物近1000万粒|环球快讯

翼龙贷贷款逾期一年会上征信吗|世界讯息

金财互联: 独立董事提名人声明(张正勇) 世界快看

全球观焦点:华融化学董秘回复:公司的主要产品为氢氧化钾和多种氯产品,其中氢氧化钾是一种重要的化工产品

“密码神器”LastPass官方终于承认:有用户隐私数据被黑客窃取_热讯

北京公立医院可在线提供新冠相关症状首诊服务 报销标准一致:环球观焦点

泰达股份:公司全资子公司泰达洁净以口罩核心材料为主,N95口罩滤材日产能8吨,可供生产400万只N95口罩

“发热诊疗小屋”加强接诊能力 提升服务方便居民就医

足协要求各俱乐部12月31日前解决全部历史欠薪_热消息

【播资讯】苹果明年或将在越南生产MacBook