python-异常处理和错误调试-asyncio中的错误调试(二)
(资料图片仅供参考)
使用日志系统
在 asyncio 中,我们还可以使用日志系统进行调试。日志系统可以将程序运行时的信息输出到指定的日志文件或者控制台中,从而方便我们查看程序运行时的状态。
例如,我们定义了一个异步函数 coro(),如下所示:
import asyncioimport loggingasync def coro(): await asyncio.sleep(1) logging.error("除数不能为0") a = 1 / 0 await asyncio.sleep(1)async def main(): await coro()asyncio.run(main())
在上述代码中,我们使用 logging 模块输出了一个错误信息。logging 模块提供了多个日志级别,如 debug、info、warning、error 等等。在输出日志信息时,我们可以指定日志级别,从而控制输出信息的详细程度,例如,使用 logging.error() 输出的信息将会输出到控制台或者日志文件中,并且只有当日志级别设置为 error 时才会输出。
在使用日志系统进行调试时,我们可以将日志级别设置为 DEBUG,从而输出更为详细的信息。例如,我们可以将代码修改为如下所示:
import asyncioimport loggingasync def coro(): await asyncio.sleep(1) logging.debug("进入 coro 函数") a = 1 / 0 await asyncio.sleep(1)async def main(): logging.basicConfig(level=logging.DEBUG) await coro()asyncio.run(main())
在上述代码中,我们使用 logging.basicConfig() 函数将日志级别设置为 DEBUG,从而输出更为详细的信息。当程序运行时,会在控制台输出以下信息:
DEBUG:root:进入 coro 函数
通过输出的信息,我们可以知道程序在哪个函数中出现了错误,从而更方便地进行调试。
下一篇:最后一页
-
艺术家边剃头,边作画,用10万根白发创造“新东方明珠”这是一幅发人深思的画作。近日,上海艺术家杨烨炘走出封闭2个月的家门,以行为绘画的方式创作了《新东方明珠图》献给上海。杨烨炘以疫情期
-
花8000多元买的商品,白等两个月却没收到货?亚马逊回应“花8000多元买的商品,白等了两个月却没收到货。”近日,消费者赵先生向《中国消费者报》投诉,称他通过亚马逊购物APP下了两笔订单,在等待两个月后订单均被强制取消。
-
广东省消委会发布二手车买卖合同示范文本为配合广东省推进“阳光二手车”工作,促进二手车流通行业健康发展,推动经营主体树立诚信经营理念,规范二手车交易行为,切实保护消费者的合法权益。
-
国家卫健委:家庭医生签约服务“最后一公里”有望打通3月15日,国家卫生健康委、财政部等六部门共同提出的《关于推进家庭医生签约服务高质量发展的指导意见》(以下简称《意见》)发布。
-
2022年1~2月房企拿地榜出炉:冠军碧桂园近日,中指研究院公布了2022年1~2月房企拿地(金额)TOP100榜单。令业内惊讶的是,除了品牌房企名次“乾坤大挪移”,榜单内还冒出了许多“名不见经传”的新面孔。
X 关闭
资讯
X 关闭
聚焦