(資料圖)
使用日志系統(tǒng)
在 asyncio 中,我們還可以使用日志系統(tǒng)進行調(diào)試。日志系統(tǒng)可以將程序運行時的信息輸出到指定的日志文件或者控制臺中,從而方便我們查看程序運行時的狀態(tài)。
例如,我們定義了一個異步函數(shù) coro(),如下所示:
import asyncioimport loggingasync def coro(): await asyncio.sleep(1) logging.error("除數(shù)不能為0") a = 1 / 0 await asyncio.sleep(1)async def main(): await coro()asyncio.run(main())
在上述代碼中,我們使用 logging 模塊輸出了一個錯誤信息。logging 模塊提供了多個日志級別,如 debug、info、warning、error 等等。在輸出日志信息時,我們可以指定日志級別,從而控制輸出信息的詳細程度,例如,使用 logging.error() 輸出的信息將會輸出到控制臺或者日志文件中,并且只有當日志級別設(shè)置為 error 時才會輸出。
在使用日志系統(tǒng)進行調(diào)試時,我們可以將日志級別設(shè)置為 DEBUG,從而輸出更為詳細的信息。例如,我們可以將代碼修改為如下所示:
import asyncioimport loggingasync def coro(): await asyncio.sleep(1) logging.debug("進入 coro 函數(shù)") a = 1 / 0 await asyncio.sleep(1)async def main(): logging.basicConfig(level=logging.DEBUG) await coro()asyncio.run(main())
在上述代碼中,我們使用 logging.basicConfig() 函數(shù)將日志級別設(shè)置為 DEBUG,從而輸出更為詳細的信息。當程序運行時,會在控制臺輸出以下信息:
DEBUG:root:進入 coro 函數(shù)
通過輸出的信息,我們可以知道程序在哪個函數(shù)中出現(xiàn)了錯誤,從而更方便地進行調(diào)試。
關(guān)鍵詞:
凡注有"環(huán)球傳媒網(wǎng)"或電頭為"環(huán)球傳媒網(wǎng)"的稿件,均為環(huán)球傳媒網(wǎng)獨家版權(quán)所有,未經(jīng)許可不得轉(zhuǎn)載或鏡像;授權(quán)轉(zhuǎn)載必須注明來源為"環(huán)球傳媒網(wǎng)",并保留"環(huán)球傳媒網(wǎng)"的電頭。
資訊
- python-異常處理和錯誤調(diào)試-asyncio中的錯誤調(diào)試(二) 全球最新
- 農(nóng)業(yè)農(nóng)村部部署開展全國糧油等主要作物大面積單產(chǎn)提升行動_當前熱訊
- 割包皮對性方面有提升么_不割包皮有什么影響
- 凱爾:一直不信拜仁能贏下所有比賽 獎金?若奪冠我們會很慷慨
- 環(huán)球今熱點:泰國多地氣溫超40℃ 泰國政府提醒民眾少出門
- 深圳龍華區(qū)龍騰學校小學部學區(qū)范圍(含劃分地圖)-世界快資訊
- 全國機動車違法信息查詢_全國機動車違法信息
- cdr基本教程_cdr基礎(chǔ)圖文教程|環(huán)球熱門
- 【全球新視野】win98原版鏡像iso_win98系統(tǒng)完整iso下載
- 交通銀行安徽省分行:“一產(chǎn)一策”為鄉(xiāng)村產(chǎn)業(yè)添動力