• 首页
  • 粮食
  • 蔬菜
  • 果品
  • 水产
  • 酒水
  • 饮料
  • 茶叶
  • 畜禽
  • 食用油
  • 资讯
logo
  • 首页>
  • 水产 >
  • 正文

世界热议:Python 打印彩色日志

2023-01-02 16:21:03 来源:

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

    水产2023-01-02
  • 补办珠海居住证需要什么资料-天天动态

    水产2023-01-02
  • 焦点速递!loacker威化饼是不是代可可脂?

    水产2023-01-01
  • 精彩看点:山西省晋中市昔阳县交通违章去哪里处理?

    水产2022-12-31
  • 全球时讯:南京西岗社区医院新冠疫苗接种情报(持续更新)

    水产2022-12-30
  • 环球信息:过年摆什么挂件 过年适合摆哪种挂件

    水产2022-12-30
  • 株洲劳动合同律师的收费是多少_通讯

    水产2022-12-30
  • 什么是“白肺”?如何避免新冠感染出现肺炎?——国家卫健委组织权威专家解答防疫热点问题

    水产2022-12-30
  • 【天天聚看点】运用“组合拳”打造社会治理“共同体”

    水产2022-12-30
  • ​机器学习数据不满足同分布,怎么整?|天天视点

    水产2022-12-29
  • 滚动:武汉地标项目也被卖了!华夏幸福124亿出售商业,预计亏损超21亿

    水产2022-12-29
  • 全国越野滑雪青少年锦标赛 河北运动员包揽金银牌

    水产2022-12-29
  • 光莆股份:公司已推出60多款紫外线、等离子、负氧离子、光触媒消杀产品_天天速讯

    水产2022-12-29
  • 天健集团(000090):监事会换届选举_视点

    水产2022-12-29
  • 做零食批发!你可以这样搞 环球快资讯

    水产2022-12-29
  • 威奥股份(605001):威奥股份董事增持公司股份及后续增持计划 天天讯息

    水产2022-12-28
  • 常州高新区税务局:新的组合式税费支持政策为企业发展注入“强心剂”

    水产2022-12-28
  • 2022年11月中国移动游戏市场实际销售收入134.99亿元|热闻

    水产2022-12-28
  • 环球快看:西安现在还限号吗

    水产2022-12-28
  • 今日观点!沃格光电: 江西沃格光电股份有限公司关于对全资子公司银团项目贷款提供担保的补充公告

    水产2022-12-27

果品

  • 北京2022年冬奥会、冬残奥会奖牌“同心”正式发布
  • 冬奥故事会丨一图了解冬奥会历届奖牌
  • 同心筑梦向未来——写在北京冬奥会开幕倒计时100天之际
  • 外交部:美国针对亚裔仇恨犯罪数字令人痛心

蔬菜

  • 说好“一梯一户”却成了“两梯两户”,买方能否解除合同?
  • 更高水平开放合作助力中国东盟经贸发展迎新机遇
  • 9被告人犯侵犯著作权罪被判刑罚
  • 玉渊谭天丨中美再通话,“建设性”很重要
  • 环球时报社评:中美经贸需要建设性对话
  • 俄媒:莫斯科扩大新冠感染新疗法试点范围
  • 冰雪之约 中国之邀 | 追赶的勇气
  • 中国第20批赴黎维和建筑工兵分队完成“VA-2”道路排水系统修缮任务
  • 中国常驻联合国代表团举办恢复联合国合法席位50周年图片展
  • 美专家认为三大原因导致美国供应链危机

Copyright   2015-2022 北冰洋食品网 版权所有  备案号:沪ICP备2020036824号-3   联系邮箱:562 66 29@qq.com