Python基礎模塊:logging模塊
阿新 • • 發佈:2018-02-05
.info stream 沒有 test https 打印 多個 stdout formatter 功能:格式化輸出日誌
五個級別DEBUG,INFO,WARING,ERROR,CRITICAL,默認打印WARING以上級別輸入,可更改。
默認實例是root,建議使用時不要使用默認實例
五個級別DEBUG,INFO,WARING,ERROR,CRITICAL,默認打印WARING以上級別輸入,可更改。
默認實例是root,建議使用時不要使用默認實例
import logging import 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‘) # 指定日誌處理方法,比如打印到屏幕,存儲到文件等,本例存儲到文件 file_handler = logging.FileHandler("test.log") file_handler.setFormatter(formatter) # 可以通過setFormatter指定輸出格式 file_handler.formatter = formatter # 也可以給file_handler的formatter屬性直接賦值 #再創建一個打印到屏幕的handler print_handler = logging.StreamHander(sys.stdout) print_handler.setFormatter(formatter) # 把指定的日誌處理方法添加到實例,可以添加多個日誌處理方法 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模塊