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
用戶輸出的消息對象