善用logging模塊來debug信息
最新
09-11
日常Python開發過程中,使用print函數來列印一些debug信息是一種常態,對print函數做注釋和反注釋也是一種常態,最終代碼release的時候很多print函數需要去注釋掉以提高代碼的執行效率。如果在寫代碼的時候我們能把這些print函數做一個分類將是一個不錯的想法,所以logging module就是干這個事,本篇文章會解釋它的操作原理。先來看個代碼案例做個效果演示。
首先使用print函數來debug信息
如果使用logging來將print函數的debug信息做分類,寫成如下這樣
好像也沒什麼區別嘛?都列印了三條日誌信息,實際不然,logging可以配置自己的級別,當我只關心我的ERROR信息的時候,我可以將我的代碼改成這樣
所有低於ERROR等級的信息都不會顯示出來,這樣分類處理是非常明智的。
logging日誌級別
CRITICAL
ERROR
WARNING
INFO
DEBUG
NOTSET
這個日誌級別的機制是如果我配置的級別是INFO,那麼比它級別高的WARNING、ERROR和CRITICAL都將被列印,而低於它的DEBUG和NOTSET不將被列印。
還有兩點也比較重要,一個是logging提供了寫日誌文件的介面,只要簡單配置
這樣就可以將日誌信息寫入到log文本文件中。
另一點是它提供很多可供格式化的字串去format信息,比如當前時間
更深入了解logging module可以查看Python官方文檔。


TAG:CGRnDStudio |