1. 程式人生 > 實用技巧 >python初級之路-logging模組

python初級之路-logging模組

python之loggin模組:提供了標準的日誌介面,通過該模組可以儲存各種格式的日誌,loggin日誌可以分為debug、info、warning、error和critical五種級別。

 1 #!/usr/bin/env python3
 2 # -*- coding: utf-8 -*-
 3 
 4 import logging
 5 
 6 # 提供了標準的日誌介面,通過該模組可以儲存各種格式的日誌,loggin日誌可以分為debug、info、warning、error和critical五種級別。
 7 
 8 """
 9 # 將日誌寫到日誌檔案中
10 logging.basicConfig(filename="example.log", level=logging.INFO, format="%(asctime)s %(message)s", datefmt="%m/%d/%Y %I:%M:%S %p")    # 將比info級別高的日誌寫入到example.log日誌檔案中,其中: %Y 年 %m 月 %d 日 %H 時 %M 分 %S 秒 %p 時間段
11 logging.debug("This message should go to the log file.") 12 logging.info("So should this.") 13 logging.warning("And this, too.") 14 logging.warning("user [lanten] attempted wrong password more than 3 time.") 15 logging.critical("server is down.") 16 """ 17 18 # 同時將日誌列印到螢幕和寫到日誌檔案 19 logger = logging.getLogger("
TEST-LOG") # 定義一個日誌物件 20 logger.setLevel(logging.DEBUG) # 給日誌物件定義一個日誌級別,全域性級別最高 21 22 sh = logging.StreamHandler() # 定義一個螢幕輸出日誌物件 23 sh.setLevel(logging.DEBUG) # 給螢幕輸出日誌物件定義一個日誌級別 24 25 fh = logging.FileHandler("access.log", encoding="utf-8") # 定義一個用於儲存日誌的檔案物件,不設定encoding將會出現中文亂碼 26 fh.setLevel(logging.WARNING) #
給儲存日誌的檔案物件定義一個日誌級別 27 28 formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") # 定義一個日誌輸出的格式 29 30 # 將日誌輸出格式物件賦值給 sh 和 fh 日誌物件 31 sh.setFormatter(formatter) 32 fh.setFormatter(formatter) 33 34 # 再將 sh 和 fh 物件新增到 logger 物件中 35 logger.addHandler(sh) 36 logger.addHandler(fh) 37 38 # 輸出日誌 39 logger.debug("這條是Debug日誌資訊,只輸出到螢幕上。") 40 logger.info("這條是Info日誌資訊,只輸出到螢幕上。") 41 logger.warning("這條是Warning日誌資訊,同時輸出到螢幕和日誌檔案中。") # 使用warn()方法會提示警告 42 logger.error("這條是Error日誌資訊,同時輸出到螢幕和日誌檔案中。") 43 logger.critical("這條是Critical日誌資訊,同時輸出到螢幕和日誌檔案中。")

輸出結果:

format自定義格式,下表中均支援: