精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一篇文章帶你搞定 Python 中 Logging 模塊

開發 后端
本文以Pythonl基礎為例,主要介紹了logging模塊的基礎使用方法,以及在現實應用中遇到的問題,進行了詳細的解答。

[[435432]]

Hey,大家好呀,我是Go進階者。

一、基礎使用

1. logging使用場景

日志是什么?這個不用多解釋。百分之九十的程序都需要提供日志功能。Python內置的logging模塊,為我們提供了現成的高效好用的日志解決方案。但是,不是所有的場景都需要使用logging模塊,

下面是Python官方推薦的使用方法:(來源百度)

任務場景 最佳工具
普通情況下,在控制臺顯示輸出 print()
報告正常程序操作過程中發生的事件 logging.info()(或者更詳細的logging.debug())
發出有關特定事件的警告 warnings.warn()或者logging.warning()
報告錯誤 彈出異常
在不引發異常的情況下報告錯誤 logging.error(), logging.exception()或者logging.critical()

logging模塊定義了下表所示的日志級別,按事件嚴重程度由低到高排列(注意是全部大寫!因為它們是常量。):

  1. import logging 
  2. logging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
  3. logger = logging.getLogger(__name__) 
  4.  
  5. logger.info("Start print log"
  6. logger.debug("Do something"
  7. logger.warning("Something maybe fail."
  8. logger.info("Finish"

logging中可以選擇很多消息級別,如debug、info、warning、error以及critical。通過賦予logger或者handler不同的級別,開發者就可以只輸出錯誤信息到特定的記錄文件,或者在調試時只記錄調試信息。

  1. logging.basicConfig(level = logging.DEBUG,format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'

例如,我們將logger的級別改為DEBUG,

再觀察一下輸出結果:

控制臺輸出,可以發現,輸出了debug的信息。

  • logging.basicConfig函數各參數:
  • filename:指定日志文件名;
  • filemode:和file函數意義相同,指定日志文件的打開模式,'w'或者'a';
  • format:指定輸出的格式和內容,format可以輸出很多有用的信息。
  • datefmt:指定時間格式,同time.strftime();
  • level:設置日志級別,默認為logging.WARNNING;
  • stream:指定將日志的輸出流,可以指定輸出到sys.stderr,sys.stdout或者文件,默認輸出到sys.stderr,當stream和filename同時指定時,stream被忽略;
  1. #參數:作用 
  2. %(levelno)s:打印日志級別的數值 
  3. %(levelname)s:打印日志級別的名稱 
  4. %(pathname)s:打印當前執行程序的路徑,其實就是sys.argv[0] 
  5. %(filename)s:打印當前執行程序名 
  6. %(funcName)s:打印日志的當前函數 
  7. %(lineno)d:打印日志的當前行號 
  8. %(asctime)s:打印日志的時間 
  9. %(thread)d:打印線程ID 
  10. %(threadName)s:打印線程名稱 
  11. %(process)d:打印進程ID 
  12. %(message)s:打印日志信息 

2. 將日志寫入到文件

設置logging,創建一個FileHandler,并對輸出消息的格式進行設置,將其添加到logger,然后將日志寫入到指定的文件。

  1. import logging 
  2. logger = logging.getLogger(__name__) 
  3. logger.setLevel(level = logging.INFO) 
  4. handler = logging.FileHandler("log.txt"
  5. handler.setLevel(logging.INFO) 
  6. formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'
  7. handler.setFormatter(formatter) 
  8. logger.addHandler(handler) 
  9.  
  10. logger.info("Start print log"
  11. logger.debug("Do something"
  12. logger.warning("Something maybe fail."
  13. logger.info("Finish"

打開log.txt文件。

2. 將日志同時輸出到屏幕和日志文件

logger中添加StreamHandler,可以將日志輸出到屏幕上

  1. import logging 
  2. logger = logging.getLogger(__name__) 
  3. logger.setLevel(level = logging.INFO) #添加StreamHandler 
  4. handler = logging.FileHandler("log.txt"
  5. handler.setLevel(logging.INFO) 
  6. formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'
  7. handler.setFormatter(formatter) 
  8.  
  9. console = logging.StreamHandler() 
  10. console.setLevel(logging.INFO)  #添加StreamHandler 
  11.  
  12. logger.addHandler(handler) 
  13. logger.addHandler(console) 
  14.  
  15. logger.info("Start print log"
  16. logger.debug("Do something"
  17. logger.warning("Something maybe fail."
  18. logger.info("Finish"

控制臺信息。

log.text信息。

3. 設置消息的等級

可以設置不同的日志等級,用于控制日志的輸出。

  1. #日志等級:使用范圍 
  2. FATAL:致命錯誤 
  3. CRITICAL:特別糟糕的事情,如內存耗盡、磁盤空間為空,一般很少使用 
  4. ERROR:發生錯誤時,如IO操作失敗或者連接問題 
  5. WARNING:發生很重要的事件,但是并不是錯誤時,如用戶登錄密碼錯誤 
  6. INFO:處理請求或者狀態變化等日常事務 
  7. DEBUG:調試過程中使用DEBUG等級,如算法中每個循環的中間狀態 

4. 捕獲traceback

Python中的traceback模塊被用于跟蹤異常返回信息,可以在logging中記錄下traceback.

  1. import logging 
  2. logger = logging.getLogger(__name__) 
  3. logger.setLevel(level = logging.INFO) 
  4. handler = logging.FileHandler("log.txt"
  5. handler.setLevel(logging.INFO) 
  6. formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'
  7. handler.setFormatter(formatter) 
  8.  
  9. console = logging.StreamHandler() 
  10. console.setLevel(logging.INFO) 
  11.  
  12. logger.addHandler(handler) 
  13. logger.addHandler(console) 
  14.  
  15. logger.info("Start print log"
  16. logger.debug("Do something"
  17. logger.warning("Something maybe fail."
  18. try: 
  19.     open("sklearn.txt","rb"
  20. except (SystemExit,KeyboardInterrupt): 
  21.     raise 
  22. except Exception: 
  23.     logger.error("Faild to open sklearn.txt from logger.error",exc_info = True
  24.  
  25. logger.info("Finish"

控制臺和日志文件log.txt中輸出。

可以使用logger.exception(msg,args),它等價于logger.error(msg,exc_info = True,args)。

將logger.error("Faild to open sklearn.txt from logger.error",exc_info = True)

替換為logger.exception("Failed to open sklearn.txt from logger.exception")

控制臺和日志文件log.txt中輸出。

二、總結

本文以Pythonl基礎為例,主要介紹了logging模塊的基礎使用方法,以及在現實應用中遇到的問題,進行了詳細的解答。

通過一些案例的講解和運行效果圖的截取,使用Python語言,能夠幫助讀者更好的去理解Python。 

我是Go進階者,如果覺得還不錯,記得動手點贊一下哈。感謝你的觀看!

 

責任編輯:武曉燕 來源: Go語言進階學習
相關推薦

2021-11-10 09:19:41

PythonShutil模塊

2024-04-17 13:21:02

Python匿名函數

2021-05-15 10:16:14

Python匿名函數

2020-02-28 11:29:00

ElasticSear概念類比

2021-03-06 10:05:03

Python函數變量

2022-05-28 15:59:55

PythonPandas數據可視化

2021-11-13 10:11:45

Pythonurllib庫Python基礎

2022-03-30 10:51:40

JavaScript性能調優

2021-05-15 09:18:04

Python進程

2021-03-15 08:38:42

StringBuffeJava基礎Java開發

2021-05-05 11:29:53

Pythonpyglet開發模塊

2021-05-18 09:00:28

Pythonclass

2022-02-21 09:44:45

Git開源分布式

2021-06-30 00:20:12

Hangfire.NET平臺

2023-05-12 08:19:12

Netty程序框架

2021-03-24 10:00:32

Python遞歸函數Python基礎

2021-02-27 10:20:18

Go語言flag包開發技術

2021-02-20 10:06:14

語言文件操作

2021-04-24 10:19:41

Python函數指向

2025-02-19 10:39:26

Python高階函數函數名
點贊
收藏

51CTO技術棧公眾號

亚洲人成色777777老人头| 九九九在线视频| 男女啪啪999亚洲精品| 国产精品第一页第二页第三页| 国产日韩欧美在线观看| 免费无遮挡无码永久在线观看视频| 精品在线网站观看| 欧美视频一二三区| 国产va亚洲va在线va| 国产区av在线| 国产suv精品一区二区6| 国产mv久久久| 久久久久久久久久久久久久免费看 | 免费视频一区三区| 69堂精品视频| 无码人妻精品一区二区三区66| av中文字幕在线播放| 久久久一区二区三区捆绑**| 亚洲伊人久久综合| 在线观看国产区| 亚洲国产午夜| 欧美成人久久久| 自拍偷拍视频亚洲| 加勒比色老久久爱综合网| 欧美视频自拍偷拍| 日本熟妇人妻xxxxx| 污影院在线观看| 国产精品久久毛片av大全日韩| 久久国产精品精品国产色婷婷| 国产日韩精品suv| 日本vs亚洲vs韩国一区三区| **欧美日韩vr在线| 精品一区二区三区人妻| 久久久久亚洲| 最新69国产成人精品视频免费| 性欧美丰满熟妇xxxx性仙踪林| 日韩一区二区三区高清在线观看| 欧美伦理视频网站| 91色国产在线| 快播电影网址老女人久久| 午夜精品在线视频一区| 久久www视频| 91福利国产在线观看菠萝蜜| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产精品美女999| 中文字幕超碰在线| 国产欧美69| 91av在线网站| 欧美精品二区三区| 亚洲国产99| 欧美精品久久久久久久久久| 国产亚洲欧美久久久久| 欧美日韩精选| 国内精品久久久久久久| 久久精品第一页| 国产精品www994| 欧美国产第二页| 69av视频在线| 欧美精品二区| 欧美精品videos| 久久精品国产亚洲AV无码男同| 欧美日韩国内| 国内精品一区二区三区| 日韩三级视频在线播放| 999亚洲国产精| 日本久久中文字幕| 五月婷婷激情五月| 精品在线播放免费| 3d蒂法精品啪啪一区二区免费| 国产毛片毛片毛片毛片毛片| 国产成人激情av| 久久艳妇乳肉豪妇荡乳av| 久久久pmvav| 中文文精品字幕一区二区| 亚洲一区在线免费| 欧美xxxx视频| 欧美日韩亚洲高清| 在线免费观看视频黄| 2019中文亚洲字幕| 精品国产一区a| 亚洲综合网在线观看| 色无极亚洲影院| 欧美夫妻性生活视频| 在线观看黄网站| 免费视频一区二区| 粉嫩av一区二区三区免费观看| 亚洲欧美日韩综合在线| 欧美激情一区二区三区四区| 国产精品夜夜夜爽张柏芝| 欧美极品少妇videossex| 日韩欧美在线一区| 性久久久久久久久久久久久久| 51社区在线成人免费视频| 亚洲欧洲日本专区| 久久国产美女视频| 先锋影音久久久| 国产精品视频一区二区三区四| 精品国产无码一区二区三区| 久久亚洲捆绑美女| 五月天色婷婷综合| 小视频免费在线观看| 欧美精品v国产精品v日韩精品| 少妇性l交大片7724com| 免费av一区| 久久99热精品这里久久精品| 久久影视中文字幕| 国产成人av电影在线| 日韩精品久久一区二区三区| 超碰在线中文字幕| 欧美伦理视频网站| 国产aⅴ激情无码久久久无码| 在线电影一区二区| 国产精品久久久久不卡| 欧美 日韩 综合| 亚洲人成精品久久久久| 成人3d动漫一区二区三区| 亚洲一区电影| 日韩中文字幕欧美| 久久久精品视频网站| 不卡一区二区三区四区| 经典三级在线视频| 国外成人福利视频| 亚洲人成在线播放| 日本高清www免费视频| 国产福利一区二区三区在线视频| 一本一本久久a久久精品综合妖精| 男人av在线播放| 亚洲精品在线观看视频| 国产一区二区视频在线观看免费| 日韩二区三区在线观看| 美女主播视频一区| 国产h片在线观看| 欧美xxxxxxxx| 日韩影院一区二区| 久久狠狠亚洲综合| 午夜欧美性电影| 台湾佬中文娱乐久久久| 亚洲精品视频二区| 青青草av在线播放| 91蜜桃视频在线| 日韩中字在线观看| 农村少妇一区二区三区四区五区 | 久久精品一区二区三区四区五区| 久久综合五月| 欧美日韩喷水| 精品日本视频| 一区二区亚洲精品国产| 波多野结衣在线电影| 欧美激情一区二区三区全黄| 久久综合久久色| 日韩av免费大片| 成人春色激情网| 国产丝袜在线| 欧美一区二区免费| 精品少妇一二三区| av中文字幕不卡| 日本免费一级视频| 国产麻豆精品久久| 国产精品三级网站| 国产成人在线视频免费观看| 日韩欧美国产一区二区在线播放| 久久伊人成人网| 不卡av在线免费观看| 中国丰满人妻videoshd| 免费观看不卡av| 国产精品你懂得| 成人三级网址| 精品国产一区久久| 免费av网站在线| 国产欧美视频一区二区| 日本美女视频一区| 国产一区二区中文| 免费观看成人在线| 日本欧美在线| 欧美激情第三页| 日韩欧美在线观看一区二区| 在线精品视频一区二区三四| 精品国产大片大片大片| 国产成人激情av| 欧美黄色一级片视频| 天天综合精品| 国产区一区二区三区| 激情开心成人网| 久久精品在线播放| 亚洲人妻一区二区三区| 欧美视频日韩视频在线观看| 无码黑人精品一区二区| 9人人澡人人爽人人精品| 蜜桃免费在线视频| 黑人一区二区三区四区五区| 欧美高清性xxxxhdvideosex| 国产精品视频首页| 欧美亚洲国产日韩2020| 老司机精品影院| 亚洲精品98久久久久久中文字幕| 中文字幕 日韩有码| 亚洲午夜久久久久久久久电影网| 一区二区黄色片| 高清av一区二区| 91女神在线观看| 亚洲欧美日韩在线观看a三区| 强伦女教师2:伦理在线观看| 老司机凹凸av亚洲导航| 成人观看高清在线观看免费| 周于希免费高清在线观看| 久久久精品久久久久| 黄色小视频在线免费观看| 日韩欧美电影一二三| 国产精品高清无码| 亚洲不卡一区二区三区| 我要看黄色一级片| 国产三级精品三级在线专区| 国产伦精品一区二区三区精品| 麻豆精品视频在线观看视频| 久久久免费视频网站| 欧美精品91| 性欧美18一19内谢| 欧美老女人另类| 久久久水蜜桃| 丁香婷婷成人| 超碰97人人在线| 91久久青草| 国产美女久久精品| 678在线观看视频| 美女福利精品视频| 超碰免费在线播放| 久久手机免费视频| 亚洲视频tv| 在线观看日韩www视频免费| 日韩在线免费看| 亚洲福利在线视频| 丰满熟妇乱又伦| 日韩欧美的一区| 成人激情四射网| 欧美一二三四在线| 国产男男gay网站| 欧美日韩国产一级二级| 国产又粗又猛又爽又| 91福利在线播放| 羞羞色院91蜜桃| 欧美三区在线观看| а中文在线天堂| 欧美日韩一二区| 国产一区二区视频免费观看| 欧美日韩一级二级| 亚洲视频在线免费播放| 欧美日韩国产在线播放网站| 瑟瑟视频在线免费观看| 欧美午夜视频网站| 中文字幕永久免费视频| 欧美色手机在线观看| 亚洲熟妇无码久久精品| 欧美日韩一区二区不卡| 国产精品伦一区二区三区| 欧美精品在线一区二区| 国产高清精品软件丝瓜软件| 日韩视频在线永久播放| 亚洲a视频在线| 日韩美女av在线| 国产精品久久一区二区三区不卡| 中日韩美女免费视频网站在线观看| 免费观看成年在线视频网站| 在线精品国产成人综合| 里番在线观看网站| 九九热这里只有精品免费看| heyzo在线欧美播放| 69av在线视频| 91精品美女| 91系列在线观看| 精品按摩偷拍| 日韩欧美视频一区二区| 欧美gay男男猛男无套| xxxxxx在线观看| 亚洲激情专区| 亚洲一区日韩精品| 国产成a人亚洲| 玖玖爱在线观看| 亚洲人一二三区| 久久一区二区三区视频| 欧美亚洲国产一卡| 国产 欧美 精品| 亚洲视频在线观看免费| 色女人在线视频| 欧美综合在线观看| 久久久精品区| 久久久久久国产精品一区| 国产精品88久久久久久| 欧美午夜性视频| 男女男精品网站| 亚洲精品乱码久久| 亚洲天堂中文字幕| 精品美女久久久久| 欧美电影影音先锋| 亚洲人视频在线观看| 久久av中文字幕| 欧美日韩五码| 国产精品久久久久久久小唯西川| 精品黄色一级片| 欧美视频在线免费播放| 精品一区二区精品| 国产精品揄拍100视频| 亚洲美女一区二区三区| av毛片在线免费观看| 精品国产免费久久| 一级毛片视频在线| 欧美极品美女电影一区| 国产精品黄色片| 国产精品jizz视频| 国产精品久久久久蜜臀 | 日本一区二区视频| 欧美精品日韩| 15—17女人毛片| 久久综合色之久久综合| 久久久久无码精品国产| 欧美日韩综合一区| 蝌蚪视频在线播放| 91精品国产色综合久久不卡98| 精品视频国内| 亚洲午夜高清视频| 日韩中文欧美在线| 亚洲国产综合视频| 亚洲电影一区二区三区| a视频免费在线观看| 色综久久综合桃花网| 日本欧美不卡| 欧美三级电影在线播放| 亚洲三级免费| 午夜剧场免费看| 亚洲综合男人的天堂| 精品人妻伦一区二区三区久久 | 高h视频在线播放| 91在线视频一区| 999国产精品永久免费视频app| 999香蕉视频| 久久久91精品国产一区二区三区| 成人免费看片98欧美| 日韩av在线网页| 欧美hdxxxxx| 国产精品二区二区三区| 欧美黄色一级视频| 性折磨bdsm欧美激情另类| 亚洲色图.com| 国产三级小视频| 久久久精品国产一区二区| 99久久久国产| 在线精品日韩| 久草在线在线精品观看| 我要看黄色一级片| 日韩午夜在线播放| 99在线播放| 粉嫩av一区二区三区免费观看| 亚洲视频久久| 又黄又爽的网站| 欧美日韩在线免费观看| 日韩av视屏| 国产国语videosex另类| 奇米影视亚洲| 日韩在线一区视频| 亚洲综合av网| 天天操天天操天天操| 2019中文字幕在线| 国产成人三级| 污色网站在线观看| 亚洲手机成人高清视频| 99在线观看免费| 久久免费视频网站| 精品资源在线| 免费观看成人网| 亚洲日本一区二区三区| www.蜜臀av| 亲子乱一区二区三区电影| 国产一区二区三区四区二区| www.com黄色片| 一区二区三区影院| 日本大臀精品| 国产原创欧美精品| 欧美久久影院| 97人妻精品一区二区免费| 欧美日韩国产综合视频在线观看| 亚洲区欧洲区| 欧美国产二区| 国产一区二区三区在线观看精品| 日本系列第一页| 亚洲视频日韩精品| 人人爱人人干婷婷丁香亚洲| 婷婷五月综合缴情在线视频| 国产清纯美女被跳蛋高潮一区二区久久w | 色婷婷av一区| 搞黄网站在线观看| 久久这里精品国产99丫e6| 毛片av一区二区| 国产一级在线播放| 色天天综合狠狠色| 成人香蕉社区| 亚洲va综合va国产va中文| 亚洲丰满少妇videoshd| 男人的天堂在线视频免费观看| 国产精品有限公司| 久久9热精品视频| 黄色在线观看国产|