python常識系列08-->logging模組基礎入門
前言
努力從今天開始,成功從“零”開始。
一、logging模組是什麼?
是Python內建的標準模組,主要用於輸出執行日誌
二、日誌是什麼?
日誌是程式碼的必要組成部分
記錄日誌能顯示程式當前執行狀態
出問題後定位當時問題
對日誌記錄的資料探勘進行統計和分析(比如 **地區登入APP人數較多等)
三、python日誌級別
DEBUG:除錯資訊
INFO:有用的資訊
WARNING:警告資訊 (預設日誌級別)
ERROR:錯誤資訊
CRITICAL:嚴重錯誤資訊
NOTSET:非級別,表示不設定,按照父logger級別來過濾日誌
日誌級別關係:
NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICAL
備註:如果把log的級別設定為INFO, 那麼小於INFO級別的日誌都不輸出, 大於等於INFO級別的日誌都輸出。也就是說,日誌級別越高,列印的日誌越不詳細。
四、logging模組實戰
4.1 logging模組基礎程式碼
import logging
logging.debug('-----除錯資訊[debug]-----')
logging.info('-----有用的資訊[info]-----')
logging.warning('-----警告資訊[warning]-----')
logging.error('-----錯誤資訊[error]-----')
logging.critical('-----嚴重錯誤資訊[critical]-----')
由於沒有設定日誌級別,預設WARNING級別,上述程式碼輸出如下:
WARNING:root:-----警告資訊[warning]-----
ERROR:root:-----錯誤資訊[error]-----
CRITICAL:root:-----嚴重錯誤資訊[critical]-----
Process finished with exit code 0
4.2 自定義日誌級別
import logging
logging.basicConfig(level=logging.DEBUG) #設定日誌級別為DEBUG,注意要大寫
logging.debug('-----除錯資訊[debug]-----')
logging.info('-----有用的資訊[info]-----')
logging.warning('-----警告資訊[warning]-----')
logging.error('-----錯誤資訊[error]-----')
logging.critical('-----嚴重錯誤資訊[critical]-----')
4.3 自定義日誌顯示格式
import logging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
logging.debug('-----除錯資訊[debug]-----')
logging.info('-----有用的資訊[info]-----')
logging.warning('-----警告資訊[warning]-----')
logging.error('-----錯誤資訊[error]-----')
logging.critical('-----嚴重錯誤資訊[critical]-----')
其中format是控制日誌格式用的,具體格式包含:(ps:讀者可以換到上面程式碼部分試試)
%(levelno)s: 列印日誌級別的數值
%(levelname)s: 列印日誌級別名稱
%(pathname)s: 列印當前執行程式的路徑,其實就是sys.argv[0]
%(filename)s: 列印當前執行程式名
%(funcName)s: 列印日誌的當前函式
%(lineno)d: 列印日誌的當前行號
%(asctime)s: 列印日誌的時間
%(thread)d: 列印執行緒ID
%(threadName)s: 列印執行緒名稱
%(process)d: 列印程式ID
%(message)s: 列印日誌資訊
4.4 自定義日誌輸出到檔案
import logging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
logging.debug('-----除錯資訊[debug]-----')
logging.info('-----有用的資訊[info]-----')
logging.warning('-----警告資訊[warning]-----')
logging.error('-----錯誤資訊[error]-----')
logging.critical('-----嚴重錯誤資訊[critical]-----')
其中上述程式碼中 filename 引數為日誌檔案配置
小結
如果沒有接觸過日誌的朋友使用本篇入門非常不錯
本篇中使用了 basicConfig() 這種方式去配置日誌,其實還有多種方式配置(如配置檔案配置、自定義logger物件配置等)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940641/viewspace-2945567/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python基礎入門(8)- Python模組和包Python
- Python基礎入門知識點——Python中的異常Python
- python的logging模組Python
- Python基礎知識入門(二)Python
- Python入門基礎知識(二)Python
- Python logging模組的使用Python
- Python學習——logging模組Python
- python 入門常識Python
- Python入門必知的知識點!Python基礎入門Python
- Python基礎——模組Python
- WebSocket系列之基礎知識入門篇Web
- Python入門之基礎知識(一)Python
- Python入門基礎知識例項,Python
- 0基礎快速入門Python,這些常識必須先了解!Python
- python logging模組使用總結Python
- Python入門—time模組Python
- Python基礎之模組Python
- Python入門基礎知識學什麼?Python
- Python 基礎(一):入門必備知識Python
- Python快速入門之基礎知識(一)Python
- python常用模組補充hashlib configparser logging,subprocess模組Python
- Python基礎12(模組與datetime模組)Python
- Python爬蟲從入門到精通系列──第1課 基礎知識Python爬蟲
- Python基礎入門(7)- Python異常處理機制Python
- Python–logging模組不同級別寫入到不同檔案Python
- hashlib、logging模組
- Python之logging模組相關介紹Python
- python之logging日誌模組詳解Python
- Python:使用logging模組記錄日誌Python
- Python強大的日誌模組loggingPython
- 模組學習之logging模組
- Python入門基礎(8)Python
- JavaScript 基礎知識入門JavaScript
- Python培訓入門基礎知識學什麼?Python
- Python基礎入門知識點——深淺拷貝Python
- Python基礎入門知識點——if 語句簡介Python
- python 基礎筆記——常用模組Python筆記
- Python基礎:常用系統模組Python