世界热推荐:Python 打印彩色日志
我相信每一个开发者都有打印日志的习惯,好看的日志可以加快调试的速度,可以更好的了解程序中发生的事情。本文分享一个技巧,可以让 Python 在控制台输出彩色的日志。
(相关资料图)
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 -
热资讯!小佩顿回到勇士主场 追梦为其颁发2022总冠军戒指
2022-12-31 -
环球快看:国资委:进一步增强能源电力供应支撑托底能力
2022-12-30 -
天天日报丨外交部:期待中菲双方以此访为契机,推动中菲关系提档加速
2022-12-30 -
【热闻】《谁是鼎厨》时光之旅,带你找寻曾经记忆中的味道
2022-12-30 -
天天滚动:中国核电发布安全文化建设和精细化运行管理图书
2022-12-30 -
报道:第三代半导体板块12月29日跌0.06%,通富微电领跌,主力资金净流出3.76亿元
2022-12-30 -
最资讯丨53次!长征系列运载火箭年度发射次数再创新高
2022-12-29 -
每日热门:奋达科技主力资金持续净流入,3日共净流入2042.29万元
2022-12-29 -
世界热消息:中科环保: 第一届董事会第三十三次会议决议公告
2022-12-29 -
世界今亮点!我爱我家董秘回复:所得税是按法人主体分别确认
2022-12-29 -
天天微头条丨中国建筑: 中国建筑股份有限公司董事会监督委员会议事规则
2022-12-29 -
环球简讯:中国绿色低碳专利授权量近5年年均增6.5% 成全球重要带动力量
2022-12-29 -
天天速递!英超-曼联3-0距前四仅1分,拉什福德传射胖虎神助攻
2022-12-28 -
当前看点!《向风而行》宋宋人物解析
2022-12-28 -
微速讯:上海建工20亿元中标南昌污水系统整治EPC工程
2022-12-28 -
【快播报】网贷逾期已经超过17天会影响征信吗
2022-12-28 -
【独家焦点】南都电源(300068.SZ)股东王岳能累计减持27.96万股 减持数量过半
2022-12-27 -
天天新动态:田中精机董秘回复:公司对深圳市瑞昇新能源科技有限公司(以下简称“瑞昇新能源”)增资完成后
2022-12-27 -
视讯!进中提质 回眸2022丨“亚冠,我们来了!
2022-12-27 -
世界最新:极市直播预告丨NeurIPS 2022 Oral-张博航:如何从模型层面获得对抗鲁棒性保证?
2022-12-27 -
当前要闻:四部门:加强内部控制 全面提升2022年年报质量
2022-12-26 -
环球热议:美媒:中国科技股正在重新赢得投资者青睐
2022-12-26 -
每日速读!民间借贷纠纷诉讼费由谁出?
2022-12-26 -
观察:四位明星的家人因新冠去世!谢晋儿子抢救无效,樊登父亲安详离世
2022-12-25 -
全球球精选!春运火车票开售首日,同程旅行火车票搜索量恢复至疫情前的8成以上
2022-12-24 -
全球快看:最新服务贸易晴雨表显示:受主要经济体增长放缓影响,服务贸易可能减弱
2022-12-23 -
【独家】*ST美尚(300495)12月23日主力资金净卖出810.12万元
2022-12-23 -
【世界报资讯】盛洋科技:公司主要产品射频电缆的原材料主要是铜、铜包钢、铝镁丝、PVC等
2022-12-23 -
世界简讯:南宁一家药店:布洛芬只送不卖!市民点赞:太暖心了!
2022-12-22
-
守住网络直播的伦理底线
2021-12-16 -
石窟寺文化需要基于保护的“新开发”
2021-12-16 -
电影工作者不能远离生活
2021-12-16 -
提升隧道安全管控能力 智慧高速让司乘安心
2021-12-16 -
人民财评:提升消费体验,服务同样重要
2021-12-16 -
卫冕?突破?旗手?——武大靖留给北京冬奥会三大悬念
2021-12-16 -
新能源车险专属条款出台“三电”系统、起火燃烧等都可保
2021-12-16 -
美术作品中的党史 | 第97集《窗外》
2021-12-16 -
基金销售业务违规!浦发银行厦门分行等被厦门证监局责令改正
2021-12-16 -
保持稳定发展有支撑——从11月“成绩单”看中国经济走势
2021-12-16