1. 程式人生 > >Python基礎模塊:logging模塊

Python基礎模塊:logging模塊

.info stream 沒有 test https 打印 多個 stdout formatter

功能:格式化輸出日誌
五個級別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模塊