我相信每一个开发者都有打印日志的习惯,好看的日志可以加快调试的速度,可以更好的了解程序中发生的事情。本文分享一个技巧,可以让 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 打印彩色日志|当前独家
看点:广州材料买卖合同纠纷律师费用一般怎么计算
冰箱温度怎么调老结冰怎么办呢?|全球今日报
四川九洲: 内部审计制度
2022至2023佛山南海奇妙季攻略(时间+地点)-每日看点
今日要闻!歌华有线:为保证信息披露公平性原则,公司会在各期定期报告中披露对应时点的股东数据
陆金贷(大额专享)借款逾期五年会上征信系统吗_天天时讯
12月29日基金净值:国富沪港深成长精选股票最新净值1.748,跌0.57%_当前简讯
武汉丰山府保租房网上意向登记入口+流程
每日信息:美交通部宣布将在全美50个州建设电动汽车充电站
观热点:2023苏州跨年火把节篝火时间
众安小贷逾期五年还不起征信会怎么样|当前资讯
第一运程 2023年3月27日十二生肖运势解析
【世界新要闻】女生把裤子脱掉挨打作文(推荐8篇)
江苏省卫健委招聘559人报名时间
康泰医学:目前血氧仪日产量超过十万台/套 后续公司将根据订单和市场需求情况继续扩大产能|环球观焦点
西班牙宣布100亿欧元一揽子计划以缓解通胀痛苦
当前热文:2023中国政法大学考研考场分布+入校时间入口+防疫要求
【机器学习】集成学习代码练习(随机森林、GBDT、XGBoost、LightGBM等)
南新制药董秘回复:公司生产的药物主要应用在抗病毒、传染病防治,以及心脑血管疾病、糖尿病等其他重大疾病治疗领域X 关闭
X 关闭