import logging
import os.path
import time
def test_log():
"""指定保存日志的文件路径,日志级别,以及调用文件
将日志存入到指定的文件中
:paramlogger:
"""
# 创建一个logger
logger = logging.getLogger()
logger.setLevel(logging.INFO)
#此处的判断是为了不重复调用test_log,导致重复打印出日志;第一次调用就会创建一个,第二次就不会再次调用了,也就不会出现重复日志的情况
if not logger.handlers:
# 创建一个handler,用于写入日志文件
fh=logging.FileHandler(log_filename,mode='a',encoding='utf-8')
fh.setLevel(logging.INFO)
# 创建一个hander用于输出到控制台
ch=logging.StreamHandler()
ch.setLevel(logging.INFO)
# 定义handler的输出格式
formeter=logging.Formatter('%(asctime)s-%(module)s-%(lineno)d-%(name)s-% (levelname)s-%(message)s')
fh.setFormatter(formeter)
ch.setFormatter(formeter)
# 给logger添加handler
logger.addHandler(fh)
logger.addHandler(ch)
return logger
import time
from selenium import webdriver
import logger
mylogger=logger.test_log()
class TestMyLog(object):
def print_log(self):
driver=webdriver.Firefox()
mylogger.info(message)
driver.maximize_window()
mylogger.info("最大化浏览器窗口。")
driver.implicitly_wait(8)
try:
#get1方法错误
driver.get1("https://www.baidu.com")
except Exception as e:
mylogger.error('访问百度失败{}'.format(e))
mylogger.info("打开百度首页。")
time.sleep(1)
mylogger.info("暂停一秒。")
driver.close()
mylogger.info("关闭并退出浏览器。")
TestMyLog().print_log()