日期:2023-01-02 16:39:01 来源:
我相信每一个开发者都有打印日志的习惯,好看的日志可以加快调试的速度,可以更好的了解程序中发生的事情。本文分享一个技巧,可以让 Python 在控制台输出彩色的日志。
安装 coloredlogspipinstallcoloredlogs
【资料图】
使用首先,和正常打印日志一样,我们创建一个 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 打印彩色日志-全球最资讯
万达普惠逾期50年会影响征信吗?:天天讯息
全球连线|中国非遗“洋粉丝”:巴西姑娘鼓中说唱“中国韵”_全球新消息
42岁央视前主持人傅大勇癌症去世,曾多次主持春晚,最后露面曝光
即时焦点:巨灵财经总经理牟晟豪:数据驱动,助力投资者科学投资
管清友建议用发钱的方式来拉动消费,有舆论却站在了对立面:天天观速讯
嗨袋网贷逾期四天会怎么样?-全球热推荐
从互联互通政策看投资机遇 乐享集团(06988)成优质投资标的_全球快讯
即时焦点:南宁急救医疗中心黎塘急救站投入使用
北化股份(002246):董事辞职
世界速看:欠了1万小赢钱包网贷7天还不上会上征信吗
六祖福地 燕岩古刹:走进广东燕岩六祖古寺传戒道场
旷达科技:公司在光伏发电业务上无扩张计划
精功科技:12月28日融券卖出金额81.95万元,占当日流出金额的2.54%
时讯:做零食批发!你可以这样搞
环球微速讯:妙可蓝多: 第十一届监事会第十五次会议决议公告
焦点关注:台湾1至10月交通事故共造成2560人死亡、超40万人受伤
2023沧州职工医保普通门诊报销比例是多少?
盟升电子(688311)11月18日主力资金净买入46.17万元:天天滚动
【天天报资讯】睿创微纳(688002.SH):“睿创转债”将于12月30日申购
虎头局回应“拖欠工资、货款”,多个烘焙品牌融资遇冷倒在疫情中
全球焦点!居家办公工资正常支付吗?最高法明确
土耳其宣布在黑海发现580亿立方米天然气
环球今亮点!睿享新年 运转乾坤 德国高仪“鲜”启健康水生活
福建人注意!晴燥少雨,注意补水