1. 程式人生 > >python爬蟲學習之日誌記錄模組

python爬蟲學習之日誌記錄模組

這次的程式碼就是一個日誌記錄模組,程式碼很容易懂,註釋很詳細,也不需要安裝什麼庫。提供的功能是日誌可以顯示在螢幕上並且儲存在日誌檔案中。
呼叫的方式也很簡單,測試程式碼裡面有。

原始碼:

#encoding=utf-8

import logging
import getpass
import sys


    # 定義MyLog類
class MyLog(object):
    # 類MyLog的建構函式
    def __init__(self):
        self.user = getpass.getuser()
        self.logger 
= logging.getLogger(self.user) self.logger.setLevel(logging.DEBUG) # 日誌檔名 self.logFile = sys.argv[0][0:-3] + '.log' #print(sys.argv[0]) 代表檔名 輸出 mylog.py self.formatter = logging.Formatter('%(asctime)-12s %(levelname)-8s %(name)-10s %(message)-12s\r\n')
# 日誌顯示到螢幕上並輸出到日誌檔案內 # 輸出到日誌檔案 self.logHand = logging.FileHandler(self.logFile, encoding='utf8') self.logHand.setFormatter(self.formatter) self.logHand.setLevel(logging.DEBUG) # 輸出到螢幕 self.logHandSt = logging.StreamHandler() self.logHandSt.setFormatter(self.formatter) self.logHandSt.setLevel(logging.DEBUG)
# 新增兩個Handler self.logger.addHandler(self.logHand) self.logger.addHandler(self.logHandSt) # 日誌的5個級別對應以下的5個函式 def debug(self,msg): self.logger.debug(msg) def info(self,msg): self.logger.info(msg) def warning(self,msg): self.logger.warning(msg) def error(self,msg): self.logger.error(msg) def critical(self,msg): self.logger.critical(msg) if __name__ == '__main__': mylog = MyLog() mylog.debug(u"I'm debug 測試中文") mylog.info("I'm info") mylog.warning("I'm warn") mylog.error(u"I'm error 測試中文") mylog.critical("I'm critical")

測試結果: