激情久久久_欧美视频区_成人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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人免费av在线播放 | 一本色道久久综合亚洲精品图片 | 国内精品免费一区二区2001 | 九九精品在线观看视频 | 国产成人av在线播放 | 黄污污网站 | 激情综合网俺也去 | 欧美成人鲁丝片在线观看 | 天天操天天干天天操 | 欧美日韩精品一区二区三区不卡 | 女人裸体让男人桶全过程 | 免费黄色在线 | 视频一区二区三区在线播放 | 一级黄色毛片播放 | 91精品国产九九九久久久亚洲 | 黄污网站在线 | 爱福利视频 | 奇米影视888狠狠狠777不卡 | 午夜精品小视频 | 午夜精品福利视频 | 午夜免费网 | 黄色网址在线视频 | 国产亚洲精品久久久闺蜜 | 免费小毛片 | av电影在线观看网站 | 欧美xxxxx视频| 成人精品一区二区三区中文字幕 | 青青草成人av | av在线浏览| 99精品视频在线观看免费 | 久久福利剧场 | 久久嗨| 国产精品91久久久 | 99最新网址 | 久久视频精品 | 亚洲欧美日韩精品久久亚洲区 | 成年毛片| www日韩在线 | 国产无遮挡成人免费视频 | 精品久久999 | 成人在线视频免费观看 |