色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-10-31 15:05 ? 次閱讀

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

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

1.簡陋版裝飾器

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

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

圖片

用一下試試看:

圖片

效果如下:

圖片

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

2.普通版裝飾器

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

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

修改如下:

圖片

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

3.優化版裝飾器

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

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

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

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

圖片

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

圖片

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

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

圖片

logging 完整配置如下:

圖片

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

圖片

效果如下:

圖片

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

附常用的日志等級配置:

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4327

    瀏覽量

    62573
  • 日志
    +關注

    關注

    0

    文章

    138

    瀏覽量

    10639
  • python
    +關注

    關注

    56

    文章

    4792

    瀏覽量

    84628
收藏 人收藏

    評論

    相關推薦

    理解Python裝飾及其工作原理

    Python 是一種對新手很友好的語言。但是,它也有很多較難掌握的高級功能,比如裝飾(decorator)。很多初學者一直不理解裝飾及其
    發表于 10-08 11:39 ?2210次閱讀

    Python日志logging模塊簡單介紹

    Python日志logging模塊的使用-數據庫腳本優化003
    發表于 03-05 13:46

    分享python 7個好用的裝飾

    、deco.concurrent安裝:pip install deco使用 DECO 就像在 Python 程序中查找或創建兩個函數一樣簡單。我們可以用 @concurrent 裝飾需要并行運行的函數
    發表于 06-15 16:54

    自制簡單的星星花環

    描述簡單的星星花環今年我決定用自制的花環裝飾我的圣誕樹。為此,您需要取幾顆這樣的星星并通過電線將它們相互連接,這將傳輸 5 V 電源。每顆星上安裝了 5 個 LED 和 5 個額定值為 120 歐姆的限流電阻。PCB
    發表于 07-28 07:58

    一文讀懂Python裝飾

    裝飾前,還要先要明白一件事,Python 中的函數和 Java、C++不太一樣,Python 中的函數可以像普通變量一樣當做參數傳遞給另外一個函數。
    發表于 04-28 10:48 ?3427次閱讀
    一文讀懂<b class='flag-5'>Python</b><b class='flag-5'>裝飾</b><b class='flag-5'>器</b>

    讓你學寫Python裝飾的五大理由

    你必須學寫Python裝飾的五個理由
    的頭像 發表于 03-02 10:06 ?1905次閱讀

    Python的函數裝飾器使用方法

    Python中的裝飾是一種可以裝飾其它對象的工具,簡單地說,他們是修改其他函數的功能的函數。該工具本質上是一個可調用的對象(callabl
    的頭像 發表于 01-21 11:36 ?1583次閱讀
    <b class='flag-5'>Python</b>的函數<b class='flag-5'>裝飾</b>器使用方法

    Python裝飾的原理和案例

    Python中的裝飾器用于擴展可調用對象的功能,而無需修改其結構。基本上,裝飾函數包裝另一個函數以增強或修改其行為。我們可以通過一個具體的例子了解基礎知識!讓我們編寫一個包含
    的頭像 發表于 07-01 11:35 ?2230次閱讀

    Python更優雅的日志記錄解決方案Loguru

    ? Loguru: 更優雅的日志記錄解決方案! loguru ?是一個? Python ?簡易且強大的第三方日志記錄庫,該庫旨在通過添加一系列有用的功能來解決標準記錄的注意事項,從而
    的頭像 發表于 11-18 11:24 ?2984次閱讀

    自制PCB花環裝飾圣誕樹

    電子發燒友網站提供《自制PCB花環裝飾圣誕樹.zip》資料免費下載
    發表于 07-18 09:42 ?2次下載
    <b class='flag-5'>自制</b>PCB花環<b class='flag-5'>裝飾</b>圣誕樹

    Python裝飾的使用

    定義 首先我們先來了解下裝飾的定義。顧名思義,在Python中,裝飾本質上就是一個函數,它可以接收一個函數作為參數,然后返回一個新的函數
    的頭像 發表于 06-21 16:54 ?744次閱讀

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

    在寫代碼的時候,往往會漏掉日志這個關鍵因素,導致功能在使用的時候出錯卻無法溯源。 其實,只需要寫一個非常簡單日志裝飾,我們就能大大提升排
    的頭像 發表于 10-21 14:39 ?718次閱讀
    <b class='flag-5'>Python</b><b class='flag-5'>自制</b><b class='flag-5'>簡單</b>實用的<b class='flag-5'>日志</b><b class='flag-5'>裝飾</b><b class='flag-5'>器</b>

    如何通過阿里云日志服務搭建一套通過Python上傳日志的監控服務

    時間,因此如果能使用市面上現成的系統會很方便。 本文將教你如何通過阿里云日志服務搭建一套通過Python上傳日志、配置日志告警的監控服務。 1.準備 開始之前,你要確保
    的頭像 發表于 10-21 14:43 ?947次閱讀
    如何通過阿里云<b class='flag-5'>日志</b>服務搭建一套通過<b class='flag-5'>Python</b>上傳<b class='flag-5'>日志</b>的監控服務

    如何寫一個簡單裝飾

    今天介紹的是一個已經存在十三年,但是依舊不紅的庫 decorator,好像很少有人知道他的存在一樣。 這個庫可以幫你做什么呢 ? 其實很簡單,就是可以幫你更方便地寫python裝飾
    的頭像 發表于 11-01 09:54 ?490次閱讀
    如何寫一個<b class='flag-5'>簡單</b>的<b class='flag-5'>裝飾</b><b class='flag-5'>器</b>

    【每天學點AI】一個例子帶你了解Python裝飾到底在干嘛!

    今天我們來聊聊一種能給你的代碼變得“加料”的神器——Python裝飾。就像一杯咖啡,原本它是苦的,為了讓它符合我的口味,我給它添加了糖,添加之后就完美的符合了我的口味。那么,裝飾
    的頭像 發表于 09-20 16:54 ?551次閱讀
    【每天學點AI】一個例子帶你了解<b class='flag-5'>Python</b><b class='flag-5'>裝飾</b><b class='flag-5'>器</b>到底在干嘛!
    主站蜘蛛池模板: 美女pk精子4| 亚洲AV无码一区二区三区乱子伦| 亚洲国产精品一区二区动图| 国产欧美日韩国产高清| 亚洲激情网站| 男人J放进女人P全黄网站| 成人小视频免费在线观看| 亚洲精品www久久久久久久软件| 久久全国免费观看视频| 超碰超碰视频在线观看| 亚洲乱码一区二区三区香蕉| 蜜柚影院在线观看免费高清中文 | 羞羞答答dc视频| 久青草国产观看在线视频| 草699一码二码三码四码| 亚洲色欲色欲www474ee| 欧美精品一区二区三区四区 | 高清国产在线观看| 永久adc视频年龄确认| 日本动漫henta videos| 精品四虎国产在免费观看| 操老太太的逼| 在线免费中文字幕| 丝瓜视频在线免费| 免费毛片在线视频| 国产女人91精品嗷嗷嗷嗷| 5g在线视讯年龄确认海外禁止进入| 肉动漫无修3D在线观看| 理论片午午伦夜理片影院| 国产精品久久自在自2021| 2018国产天天弄谢| 亚洲成人黄色在线| 日韩 国产 中文 无码| 理论片87福利理论电影| 国产亚洲免费观看| 成人天堂资源WWW在线| 长泽梓黑人初解禁bdd07| 亚洲精品成人AV在线观看爽翻 | 欧美日韩一区在线观看| 久久精品影视| 国产午夜精品一区二区三区|