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")最后的话
本文分享了一种输出彩色日志的方法,感觉不错的话,请分享给身边的程序员们,祝编码愉快。
标签: 正常使用
为您推荐
广告
随机阅读
- Python 打印彩色日志
- 热点评!2022-2023天津鼓楼跨年活动直播在哪里看?
- 每日视讯:丝路风味满满 甘肃首个“5G智慧桥梁”最新进展
- 2022广州车展:丰田皇冠Sedan首发亮相
- 元旦巩义市发布47项文旅活动和惠民措施
- 2023珠海城市阳台倒计时跨年音乐会到几点结束
- 今日腊八 你喝腊八粥了吗?附腊八粥传统食材配料 报道
- 中国武夷:不存在财务造假
- 世界今日讯!2022年12月北京大兴荣华街道招聘待遇怎么样?
- 中央财政下达2022年第二笔农业保险保费补贴
- 2023年唐山公积金首套房贷款利率最新|世界速讯
- 每日视讯:*ST海伦(300201.SZ):签署新型智能军工产品研发制造合作协议
- 卓航控股(01865)完成收购富汇证券85%股权_每日热讯
- 当前最新:翡翠观音能戴着睡觉吗?4个禁忌别犯
- 青春不过几场世界杯
- 我阳了...
- 悦康药业:目前公司在新冠治疗领域已布局mRNA疫苗和广谱抗冠多肽药物,相关信息请关注公司定期报告
- 新资讯:中国银行贺岁纪念币预约流程指南(手机+电脑)
- 嘉化能源: 独立董事关于公司第九届董事会第二十二次会议相关事项的事前认可意见-世界通讯
- 羊没羊,好像也没那么重要了!|环球观察
- 1100MW/200MWh 中国大唐集团目前最大容量电化学储能项目并网投产
- 2天天热讯:中科创达(300496):公司董事辞职及增补董事
- 3今日看点:醋化股份(603968):职工代表监事换届选举
- 4世界热门:凯石外汇:美元/日元在132.50左右的区间内盘整,关注美国个人消费支出数据是否会带来新的推动力
- 5看热讯:网贷逾期还款会影响征信吗?
- 6王毅应约同新加坡外长通电话
- 7关注:德邦科技(688035)12月23日主力资金净卖出1209.01万元
- 8捷邦科技(301326.SZ)拟斥7698.29万元参与增资瑞泰新材 加强碳纳米管业务竞争力_环球快看
- 9新疆油田油气当量首次突破1700万吨 创历史之最
- 10南亚新材:12月22日获融资买入47.72万元
广告
财经
- 环球最资讯丨科信技术董秘回复:公司致力于新产品和新技术的研发
- 禹州市阳翟社区:疫情无情人有情 接力迎接新生命
- 躺赢美滋滋!哈登9投4中仅得到11+4+4 第四节0出手
- 天天快播:新媒体团队如何“阳敌”,来自3位“阳过”同行的心得
- 多燕瘦酵素果冻“酵”醒活力,助力“肠”享健康-焦点关注
- 本周盘点(12.12-12.16):安源煤业周跌4.12%,主力资金合计净流出1288.42万元 每日热讯
- 嘉亨家化:12月15日获融资买入207.84万元
- 文远知行开启深圳首个前装量产自动驾驶小巴载人示范运营 环球要闻
- 遍植“幸福树” 结出“致富果”——农行鲁山县支行倾力支持林果业发展 全球播报
- 陕西旅游质押西安旅游文化产业100%股权 以担保5亿元短期借款
- 今日播报!芙蓉王蓝色硬盒(芙蓉王蓝色硬盒好抽不)
- 开播十分钟观看人数破20万 你看《三体》了吗?-新资讯
- 货车司机“被个体户” 还是企业“甩锅”的套路
- 中国人寿最新公告:拟将美国存托股份从纽交所退市 聚看点
- 河湖管护经验获全国推广 热点
- 每日讯息!我是真的爱你:明明是一部爱情剧,观众因何会感到惊悚又悬疑
- 第一医药(600833)12月12日主力资金净买入754.73万元
- 美亚柏科董秘回复:公司业绩存在第四季度集中的特点,当前正全力以赴加快产品交付和项目验收
- 世界短讯!中金公司:光伏胶膜对POE的需求量将持续提升
- 天天日报丨阿尔戈斯咨询公司:上调Allscripts Healthcare(MDRX.US)评级