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文件。後續有需要再補充