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