python程序調試與測試輸出日誌到文件



輸出日誌到文件

  • 創建一個logging.FileHandler對象
  • 配置其日誌級別和格式等信息
  • 添加文件處理器到logger
import logging

# 獲取logger對象,設置日誌級別
logger = logging.getLogger(__name__)
logger.setLevel(level=logging.INFO)

# 獲取文件處理器,並設置級別
handler = logging.FileHandler("./logs/log.txt")
# handler = logging.FileHandler("./logs/log.csv")
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")

同時輸出日誌到控制檯和文件

  • 分別創建一個FileHander和一個StreamHandler對象用於處理文件輸出和控制檯輸出
  • 分別配置兩個處理器的輸出級別和格式
  • 將這兩個處理器都添加到logger對象
import logging

# 獲取logger對象,取名mylog
logger = logging.getLogger("mylog")

# 輸出INFO及以上級別的信息
logger.setLevel(level=logging.INFO)

# 獲取文件處理器並設置日誌級別
handler = logging.FileHandler("./logs/log2.txt")
handler.setLevel(logging.INFO)

# 生成並設置文件處理器的日誌格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# 獲取流處理器並設置日誌級別
console = logging.StreamHandler()
console.setLevel(logging.INFO)

# 爲logger對象同時添加文件處理器和流處理器
logger.addHandler(handler)
logger.addHandler(console)

# 打印日誌
logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。https://my.csdn.net/pangzhaowen

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章