国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python自制簡單實用的日志裝飾器

Python自制簡單實用的日志裝飾器

2021-07-28 00:50菜鳥學Python Python

在寫代碼的時候,往往會漏掉日志這個關鍵因素,導致功能在使用的時候出錯卻無法溯源。其實,只需要寫一個非常簡單的日志裝飾器,我們就能大大提升排查問題的效率。

在寫代碼的時候,往往會漏掉日志這個關鍵因素,導致功能在使用的時候出錯卻無法溯源。

其實,只需要寫一個非常簡單的日志裝飾器,我們就能大大提升排查問題的效率。

1.簡陋版裝飾器

 

寫一個裝飾器非常簡單,因為本質上裝飾器就是一個返回函數的“高階”函數而已:

1) 函數作為參數傳遞進裝飾器。

2) 裝飾器內定義一個函數,處理作為參數傳遞進來的函數。

3) 返回這個裝飾器內定義的函數

Python自制簡單實用的日志裝飾器

用一下試試看:

Python自制簡單實用的日志裝飾器

效果如下:

Python自制簡單實用的日志裝飾器

雖然這樣可以實現我們所需要的功能,但其實有很大的優化空間。

2.普通版裝飾器

 

第一版代碼中有一個顯而易見的問題,裝飾器內定義的處理函數不支持kwargs,而在裝飾器中支持kwargs僅僅是舉手之勞而已。

第二個問題是,生成時間戳的時候采用字符串截取的形式,這種形式過于粗暴。其實可以使用strftime做字符串轉換。

修改如下:

Python自制簡單實用的日志裝飾器

似乎優化得差不多了,不過依然存在改進空間。

3.優化版裝飾器

 

在前兩版代碼中,我們使用print進行日志輸出,其實這種處理日志的方式并不標準。

使用logging模塊控制日志輸出是一個更好地選擇。

為了使用logging模塊記錄日志,我們需要先配置好logging相關的選項。

1) 首先,生成一個日志記錄器,并配置日志等級:

Python自制簡單實用的日志裝飾器

2) 配置日志格式、增加handler控制輸出流:

Python自制簡單實用的日志裝飾器

此處可以設置handler所需要處理的日志等級,沒有設置則默認使用logger自身的Level,即DEBUG等級。

3) 最后,將此handler加入到日志記錄器內:

Python自制簡單實用的日志裝飾器

logging 完整配置如下:

Python自制簡單實用的日志裝飾器

使用的時候非常簡單,就是把print換成logger.debug即可:

Python自制簡單實用的日志裝飾器

效果如下:

Python自制簡單實用的日志裝飾器

這樣,一個比較完善的日志裝飾器就完成了。

附常用的日志等級配置:

Python自制簡單實用的日志裝飾器

我們的文章到此就結束啦,如果你喜歡今天的Python 實戰教程,請持續關注我們。

原文地址:https://mp.weixin.qq.com/s/oEYOfJ51kyjgDjS6vzj6GA

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久免费福利视频 | 高清视频一区二区三区 | 香蕉久久久久久 | 午夜精品一区二区三区免费视频 | 午夜小视频在线观看 | 欧美一区二区三区四区不卡 | 国产精品美乳在线观看 | 黄站免费 | 成人精品久久久 | 婷婷综合网 | 国产黄色电影 | 欧美精三区欧美精三区 | 综合五月网| 欧美大片免费在线观看 | 超碰97国产精品人人cao | 亚洲另类视频 | 亚洲国产精品一区二区久久,亚洲午夜 | 伊人99热| 亚洲精品乱码久久久久久金桔影视 | 成人久久一区 | 一级黄色大片 | 日穴视频在线观看 | 99中文字幕 | 亚洲激情精品 | 直接看av的网站 | 色视频www在线播放国产人成 | 国产精品成人国产乱一区 | 五月激情天| 日韩精品在线视频 | 免费看国产片在线观看 | 天天操天天操 | 日韩免费在线 | www久久久久久久 | 亚洲h视频 | а√天堂中文在线资源8 | 欧美视频日韩视频 | 夜夜爽99久久国产综合精品女不卡 | 欧美日韩一区二区三区不卡视频 | 国产日韩视频 | 午夜精品一区二区三区在线观看 | 色视频在线免费观看 |