標籤:asc set 檔案 info mes ring ogg logging 必須
功能:格式化輸出日誌
五個層級DEBUG,INFO,WARING,ERROR,CRITICAL,預設列印WARING以上層級輸入,可更改。
預設執行個體是root,建議使用時不要使用預設執行個體
import loggingimport sys使用的時候建立執行個體:# 執行個體化logging,必須給定一個name,預設是root,不推薦。logger_instence = logging.getLogger("name") # 設定執行個體層級,INFO以上才會顯示,預設顯示WARING以上。(可選擇設定)logger_instence.setLogger(logging.INFO) # 設定日誌格式,預設格式:記錄層級:執行個體名:資訊formatter = logger.setFormatter(‘%(asctime)s %(levelname)-8s: %(message)s‘)# 指定Tlog方法,比如列印到螢幕,儲存到檔案等,本例儲存到檔案file_handler = logging.FileHandler("test.log")file_handler.setFormatter(formatter) # 可以通過setFormatter指定輸出格式file_handler.formatter = formatter # 也可以給file_handler的formatter屬性直接賦值#再建立一個列印到螢幕的handlerprint_handler = logging.StreamHander(sys.stdout)print_handler.setFormatter(formatter)# 把指定的Tlog方法添加到執行個體,可以添加多個Tlog方法logger.addHandler(file_handler) # 負責儲存到檔案logger.addHandler(print_handler) # 負責列印到螢幕# 調用logger,在螢幕顯示的同時,把日誌儲存到檔案logger.debug(“這是一個debug測試”)logger.info(“這是一個info測試”)logger.waring(“這是一個waring測試”)logger.error(“這是一個error測試”)logger.critical(“這是一個critical測試”)
關於logger,以上是基本的使用方法,或者說是一個簡單的模板,更進階的使用是需要不斷實踐的,自認為沒有下面這兩位寫的好,理解了下面兩位logging模組的文章。
https://www.jianshu.com/p/feb86c06c4f4
http://python.jobbole.com/86887/
Python基礎模組:logging模組