【學習筆記】python-日誌logging

1、日誌分爲幾個級別?
debug--調試信息
info--詳細信息:數據 進度
warning 警告信息
error 錯誤信息
critical 致命的 嚴重的錯誤ide

2、實例
import logging
Formatter對象 用於決定日誌打印的格式
fmt = logging.Formatter("%(asctime)s %(levelname)s Line:%(lineno)s==>%(message)s")函數

#Handler對象 將(logger建立的)日誌記錄發送到合適的目的輸出
ch = logging.StreamHandler() # 標準輸出流處理對象
ch.setFormatter(fmt)
ch.setLevel(logging.WARNING)debug

fh = logging.FileHandler("1.log") # 文件處理對象
fh.setFormatter(fmt)
fh.setLevel(logging.WARNING)調試

#Logger對象 對外暴露的接口
logger = logging.Logger("miaomiao",'INFO')
logger.addHandler(ch)
logger.addHandler(fh)日誌

#日誌輸出
logger.debug("debug級別的日誌")
logger.info("info級別的日誌")
logger.warning("warning級別的日誌")
logger.error("error級別的日誌")
logger.critical("critical級別的日誌")orm

3、說明
logging模塊經常使用的類主要有如下幾個
    logging.Logger
      主要提供應用程序代碼直接使用的接口,通常不會直接實例化,而是經過logging.getLogger(name)獲得
    logging.Handler
      日誌處理對象的基類,不該實例化,被實例化的應該是其子類,如logging.StreamHandler,它負責發送日誌記錄到正確的目標
    logging.Formatter
      它決定了以怎樣的格式來進行打印日誌記錄,經常使用的日誌格式以下:
      %(name)s
        Logger對象的名字
      %(levelname)s
        日誌級別的英文表示
      %(filename)s
        調用日誌輸出函數的模塊名
      %(lineno)s
        調用日誌輸出函數的語句所在的代碼行
      %(asctime)s
        字符串形式的當前時間
      %(message)s
        用戶輸出的消息對象

相關文章
相關標籤/搜索