Python 打印彩色日志
我相信每一个开发者都有打印日志的习惯,好看的日志可以加快调试的速度,可以更好的了解程序中发生的事情。本文分享一个技巧,可以让 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")最后的话
本文分享了一种输出彩色日志的方法,感觉不错的话,请分享给身边的程序员们,祝编码愉快。
标签: 正常使用
精彩推送
2021北京国际设计周开幕 北斗卫星导航系统获经典设计奖
中新网北京9月22日电 (记者 陈杭)22日,2021北京国际设计周开幕活动暨北京2022年冬奥会和冬残奥会...
来源:2021.09.23
《内蒙古自治区草畜平衡和禁牧休牧条例》10月1日起实施 明确禁牧区划定范围等
中新网呼和浩特9月22日电 (记者 李爱平)内蒙古自治区人大常委会法工委副主任尹国惠22日在此间召开...
来源:2021.09.23
新闻快讯
X 关闭
X 关闭
新闻快讯
- Python 打印彩色日志
- 今日报丨房产起诉离婚应该怎么算
- 特朗普6年税务数据公开,显示在中国持银行户口
- 焦点热讯:金溢科技: 关于对外投资暨仲裁事项进展的公告
- 2023济南政府汽车消费券什么时候发放?
- 新华时评:寒冬岁末,防火灾隐患于未“燃”-消息
- 精测电子:截至2022年12月20日,武汉精测电子集团股份有限公司股东总户数16,337户
- 12月29日基金净值:光大信用添益债券A最新净值1.011,跌0.3%
- 2023桂林跨年哪里可以看烟花?-环球速递
- 华泰紫金智能量化股票发起增聘姚石 年内下跌约2成
- 【环球新要闻】成都到西岭雪山景区直通车发车时间+地点+价格
- 融e贷逾期1千延迟还款会影响征信吗-当前视讯
- 特斯拉宣布4680电池周产量超86万块 足以生产1000辆汽车 时快讯
- 男女之间吵架后的句子精选630句|全球观点
- 环球速递!长沙个人健康防疫包可以代领吗?
- 【世界快播报】贤丰控股:下属公司枝江新材料租赁的生产线已整改完毕并陆续投产,目前生产线产能尚未完全饱和
- 日防卫省:自卫队计划在与那国岛部署地空导弹部队
- 真是烦死这些垃圾网站了!|天天观天下
- 光隆能源及全资子公司拟用自有分布式电站抵押为浙江博泰塑胶有限公司3000万贷款提供担保 焦点关注
- 世界通讯!机动车可以进入青海湖湖区吗?
- 速看:国联股份董秘回复:1、公司2021年推出了3年“百家云工厂”计划,目前目标没有发生变化,正按计划顺利推进中
- 烽火电子2名股东合计增持991.25万股耗资7597万2022年前三季度公司净利326万|世界快报
- 【当前独家】丰安股份(870508)12月26日游资资金净卖出4.78万元
- 新华全媒+|寒流叠加新冠,心血管病患者应该如何应对?
- 2022.12.23快报 | 波司登携手陈英杰推出联名款羽绒服;ZARA母公司关闭童装连锁店业务
- 京东金条贷款逾期26年多久上征信系统-全球要闻
- 还呗逾期14天征信会怎么样
- 最大CLIP!LAION发布CLIP的扩增定律_焦点热文
- 全球快看点丨蔚来被勒索、比亚迪一周卖5万辆、丰田章男仍在唱反调
- 每日快播:【机构调研记录】格林基金调研天马科技、吉林敖东
- “被动保障”变“主动服务” 福建千亿产业项目跑出“加速度”|最新资讯
- 世界短讯!ST三圣董秘回复:受生产要素影响,产能利用率不能达到100%,百康药业对乙酰氨基酚片年产能10亿片
- 【财联社时评】遏制“炒差”“炒概念”,监管要继续打通退市机制 今热点
- 外媒称C罗希望参加2026年世界杯 每日播报
- 辽宁省:今年技术合同成交额逾900亿元同比增长25.8%
- 世界微头条丨工程款纠纷律师怎么收费
- 环球精选![快讯]吉宏股份:关于控股股东及其一致行动人大宗交易减持股份暨董事长大宗交易增持股份预披露
- 世界通讯!券商观点|交通运输行业2023年度策略:优势制造兴物流、油气运输再均衡与消费交通终复苏
- 跨年投资布局正当时 借基把握科技成长主线
- 广东珠海:布洛芬等退热类药品将拆零销售 部分药品七天内限购6粒-天天播报
- 山东章鼓董秘回复:截止到2022年12月9日,股东总户数为50,756户
- 微资讯!5 年的前端成长计划 - 仅剩 300 名额 - 打破职业发展壁垒
- 蛮不讲理!利拉德中11记三分 三节打卡一招杀破狼
- 焦点快看:【复盘】向上看结构,向下看支撑。
- 世界微速讯:甲醇周刊:多空交织 甲醇市场涨跌互现
- TWS蓝牙解决方案 焦点资讯
- 山西焦化:公司财务报表中的投资收益主要指对联营企业在权益法下确认的投资收益 天天快资讯
- 恩捷股份控股股东合益投资质押展期600万股新增质押216万股用于自身资金需求、补充质押
- 速读:单场54分!12记三分!NBA不要的人,在CBA乱杀?
- 海王生物董秘回复:公司参股的山东康力医疗器械科技有限公司有口罩生产的业务