python+selenium日誌簡單樣例

import logging
import time
import os, sys, traceback


def get_log(logger_name, path):
    """
    :param logger_name: 日誌對象名稱
    :param path 日誌存放路徑,取配置中心的日誌路徑值
    :return: logger 日誌對象 all_log_name all文件日誌路徑 error_log_name error文件路徑
    :rtype list
    """
    # 創建一個logger
    logger = logging.getLogger(logger_name)
    logger.setLevel(logging.INFO)

    # 設置日誌存放路徑,日誌文件名
    # 獲取本地時間,轉換爲設置的格式
    rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
    # 設置所有日誌和錯誤日誌的存放路徑
    # path = Primary.readini.getvalue("log", "logFilePath")
    if not os.path.exists(path):
        os.makedirs(path)
    # 通過路徑來拼接日誌存放路徑,創建all日誌和error日誌
    datelog = time.strftime("%Y-%m-%d", time.localtime())
    all_log_path = os.path.join(path, 'Logs/' + datelog + '/All_Logs/')
    if not os.path.exists(all_log_path):
        os.makedirs(all_log_path)
    error_log_path = os.path.join(path, 'Logs/' + datelog + '/Error_Logs/')
    if not os.path.exists(error_log_path):
        os.makedirs(error_log_path)
    # 設置日誌文件名
    all_log_name = all_log_path + rq + '.log'
    error_log_name = error_log_path + rq + '.log'

    # 創建handler
    # 創建一個handler寫入所有日誌
    fh = logging.FileHandler(all_log_name, encoding='utf-8')
    fh.setLevel(logging.INFO)
    # 創建一個handler寫入錯誤日誌
    eh = logging.FileHandler(error_log_name, encoding='utf-8')
    eh.setLevel(logging.ERROR)
    # 創建一個handler輸出到控制檯
    ch = logging.StreamHandler()
    ch.setLevel(logging.INFO)

    # 定義日誌輸出格式
    # 以時間-日誌器名稱-日誌級別-日誌內容的形式展示
    all_log_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    # 以時間-日誌器名稱-日誌級別-文件名-函數行號-錯誤內容
    error_log_formatter = logging.Formatter(
        '%(asctime)s - %(name)s - %(levelname)s - %(module)s - %(funcName)s - %(lineno)s - %(message)s')
    # 將定義好的輸出形式添加到handler
    fh.setFormatter(all_log_formatter)
    ch.setFormatter(all_log_formatter)
    eh.setFormatter(error_log_formatter)

    # 給logger添加handler
    logger.addHandler(fh)
    logger.addHandler(eh)
    logger.addHandler(ch)
    return logger, all_log_name, error_log_name

python+selenium日誌簡單樣例,主要打印日誌至控制檯,打印日誌到all文件,打印日誌到error文件。後續有需要再補充

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