python之logging日誌模組詳解
logging日誌介紹:
很多程式都有記錄日誌的需求,並且日誌中包含的資訊既有正常的程式訪問日誌,還可能有錯誤、警告等資訊輸出,python的logging模組提供了標準的日誌介面,你可以通過它儲存各種格式的日誌,主要用於輸出執行日誌,可以設定輸出日誌的等級、日誌儲存路徑、日誌檔案回滾等,print也可以輸入日誌,但是logging相對print來說更好控制輸出在哪個地方,怎麼輸出及控制訊息級別來過濾掉那些不需要的資訊。
日誌級別:
- 1,NOSET 0 等於沒寫,廢話。
- 2,debug, 10, 除錯,一些額外資訊,備註,往往和主體功能無關。 日報裡面的備註
- 3,info, 20 主體功能的資訊。 日報,做了些啥?
- 4,warning, 30, 警告, 下次可能要出錯了。 交警叔叔警告
- 5,error, 40, 犯錯,違法。搶紅燈
- 6, critical, 50, 極其嚴重。搶銀行
設定級別:
當設成 debug 的時候,只有 高於,等於該級別的才會列印。
當你設成 warning, 只有 warning, error, critical才會列印
logging日誌框架 - 1, 日誌收集器 logger: 日記本
- 2, 日誌收集器級別 level
- 3, 日誌處理器準備 handler, 不同記號的筆
- 4, 日誌處理器級別設定
- 5, logger.addHandler(hadler),新增到處理器中
- 6, 設定日誌格式 format, 日期:重要程度:分類(工作,生活):內容 fmt = logging.Format()
- 7, 新增日誌處理器, handler.setFormat(fmt)
程式碼示例如下:
import logging
# 初始化 logger 收集器,給收集器起名為python25 ,預設是root
logger = logging.getLogger('python25')
# 設定級別
logger.setLevel('DEBUG')
# 筆的預設級別是warning, 預設是使用控制檯輸出。
# 放到一個file 檔案當中
handler = logging.FileHandler('log.txt')
# 控制檯
console_handler = logging.StreamHandler()
# 給控制檯設定級別
console_handler.setLevel('DEBUG')
# 日誌處理器設定級別
handler.setLevel('WARNING')
# 新增 handler
logger.addHandler(handler)
logger.addHandler(console_handler)
# 為handler 設定格式
fmt = logging.Formatter('%(filename)s-%(lineno)d - %(name)s-%(levelname)s-%(message)s')
handler.setFormatter(fmt)
logger.debug('111')
logger.info('hello')
logger.warning('world')
logger.error('ceshi123')
logger.critical('bengkuile23425252')
從程式碼中可以看出控制檯console_handler設定的級別為:debug
控制檯輸出結果
輸入到log.txt的handler的級別為warning
所以:log.txt為:
相關文章
- Python:使用logging模組記錄日誌Python
- Python強大的日誌模組loggingPython
- 【python介面自動化】- logging日誌模組Python
- 日誌記錄模組logging
- 『無為則無心』Python日誌 — 64、Python日誌模組logging介紹Python
- 『無為則無心』Python日誌 — 65、日誌模組logging的使用Python
- 『無為則無心』Python日誌 — 67、logging日誌模組處理流程Python
- PyCon 2018: 利用logging模組輕鬆地進行Python日誌記錄Python
- python logging日誌的禁用Python
- python的logging模組Python
- Python之logging模組相關介紹Python
- Python之time模組詳解Python
- 模組學習之logging模組
- 一看就懂,Python 日誌模組詳解及應用Python
- Python 日誌列印之logging.getLogger原始碼分析Python原始碼
- Python 封裝日誌模型loggingPython封裝模型
- Python學習——logging模組Python
- Python logging模組的使用Python
- Python 日誌列印之logging.config.dictConfig使用總結Python
- python logging模組使用總結Python
- python模組詳解Python
- 日誌模組
- Python中logging日誌等級有哪些Python
- python-包及日誌模組使用Python
- python常用模組補充hashlib configparser logging,subprocess模組Python
- 日誌記錄模式(LOGGING 、FORCE LOGGING 、NOLOGGING)模式
- hashlib、logging模組
- logging 重複打日誌
- 日誌篇:模組日誌總體介紹
- python logging模組註冊流程(以logging.config.dictConfig流程為例)Python
- Python 日誌庫 logging 的理解和實踐經驗Python
- logging模組配置筆記筆記
- Python模組之urllib模組Python
- python模組之collections模組Python
- Python 正規表示式模組詳解Python
- 理解ASP.NET Core - 日誌(Logging)ASP.NET
- ES6之路之模組詳解
- nodejs 日誌模組 winston 的使用NodeJS