python+selenium 儲存log

aiee發表於2018-08-07

1、log類

import logging
import os
import time


class Logger(object):
    def __init__(self, logger):
        """
        指定儲存日誌的檔案路徑,日誌級別,呼叫檔案
        將日誌存入到指定的檔案中
        :param logger:
        """

        # 建立一個logger(記錄器)
        # 日誌記錄的工作主要由Logger物件來完成。在呼叫getLogger時要提供Logger的名稱
        self.logger = logging.getLogger(logger)
        self.logger.setLevel(logging.DEBUG)

        # 建立一個handler,用於寫入日誌檔案
        rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
        log_path = os.path.dirname(os.getcwd()) + '/logs/'
        log_name = log_path + rq + '.log'  # 檔名

        # 將日誌寫入磁碟
        fh = logging.FileHandler(log_name)
        fh.setLevel(logging.INFO)

        # 建立一個handler,用於輸出到控制檯
        ch = logging.StreamHandler()
        ch.setLevel(logging.INFO)

        # 定義handler的輸出格式
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        fh.setFormatter(formatter)
        ch.setFormatter(formatter)

        # 給logger新增handler
        self.logger.addHandler(fh)
        self.logger.addHandler(ch)

    def getlog(self):
        return self.logger

 

2、log類呼叫

from pagehandlers import homehandler
from utils.Logger import Logger

logger = Logger(logger='home').getlog()
def home(self):
    homehandler.homehandler(self)
    logger.info("home執行完畢")

相關文章