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文件。后续有需要再补充