logging模組是python內建的標準模組,主要用於輸出執行日誌,可以設定輸出日誌的等級、日誌儲存路徑、日誌檔案回滾等。相對於print,該模組具有可以決定在列印什麼級別的資訊和將資訊輸出放置在什麼地方的優點。
配置logging的基本設定,並在控制台輸出:
import logging
logging.basicconfig(level = logging.info, #設定輸出資訊等級
format = '%(asctime)s - %(name)s - [%(levelname)s]: %(message)s') #設定輸出格式
logger = logging.getlogger('logger test')
logger.info("start print log")
logger.debug("do something")
logger.warning("something maybe fail.")
logger.info("finish")
執行結果如下圖所示:
當將輸出level設定為debug的時候,debug資訊也被輸出如下圖所示:
logging.basicconfig函式中各個引數定義如下:
filename:指定日誌檔名;
filemode:和file函式意義相同,指定日誌檔案的開啟模式,』w』或者』a』;
datefmt:指定時間格式,同time.strftime();
level:設定日誌級別,預設logging.warning,具體包fatal/critical/error/warnning/info/debug等幾個訊息級別;
stream:指定將日誌的輸出流,可以指定輸出到sys.stderr,sys.stdout或者檔案,預設輸出到sys.stderr,當stream和filename同時指定時,stream被忽略;
format:指定輸出的格式和內容,具體引數如下
%(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
:列印日誌資訊
通過logging.filehandler獲得檔案的控制代碼,**如下:
import logging
logger = logging.getlogger('logger test')
logger.setlevel(level = logging.info)
handler = logging.filehandler("log.txt")
handler.setlevel(logging.info)
formatter = logging.formatter('%(asctime)s %(name)s %(levelname)s %(message)s')
handler.setformatter(formatter)
logger.addhandler(handler)
logger.info("start print log")
logger.debug("do something")
logger.warning("something maybe fail.")
logger.info("finish")
結果被輸出到log.txt檔案中如下圖所示:
logging模組還有其他的一些高階功能,這裡暫時用不到,就留到下回分解了。
Python logging模組學習
import logging 日誌級別列表,預設為logging.warning levels logging.notset,logging.debug,logging.info,logging.warning,logging.error,logging.critical log format as...
Python logging日誌模組
1.日誌的級別 日誌一共分成5個等級,從低到高分別是 1 debug 2.info 3.warning 4.error 5.critical說明 這5個等級,也分別對應5種打日誌的方法 debug info warning error critical。預設的是 warning,當在warning或...
python logging日誌模組
logging模組是python的乙個標準庫模組,由標準庫模組提供日誌記錄api的關鍵好處是所有python模組都可以使用這個日誌記錄功能。所以,你的應用日誌可以將你自己的日誌資訊與來自第三方模組的資訊整合起來。1.日誌級別 logging模組預設定義了以下幾個日誌等級,開發應用程式或部署開發環境時...