创建logger对象以及日志写入文件、输出控制台
import logging
import os.path
import time
class Logger(object):
def __init__(self,name=None):
"""指定保存日志的文件路径,日志级别,以及调用文件
将日志存入到指定的文件中
:paramlogger:
"""
self.name=name
# 创建一个logger
self.logger = logging.getLogger(self.name)
self.logger.setLevel(logging.INFO)
if not self.logger.handlers:
# 创建一个handler,用于写入日志文件
rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
log_name =os.getcwd()+r'\\'+rq+'.log'
fh = logging.FileHandler(log_name,mode='a',encoding='utf-8')
fh.setLevel(logging.INFO)
# 再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
# 定义handler的输出格式
formatter = logging.Formatter('%(asctime)s-%(name)s-%(levelname)s-%(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 给logger添加handler
self.logger.addHandler(fh)
self.logger.addHandler(ch)
def getlog(self):
return self.logger
创建测试类
import time
from selenium import webdriver
from testlog.logga import Logger
mylogger = Logger("测试百度").getlog()
class TestMyLog(object):
def print_log(self):
driver = webdriver.Firefox()
mylogger.info("打开浏览器")
driver.maximize_window()
mylogger.info("最大化浏览器窗口。")
driver.implicitly_wait(8)
driver.get("https://www.baidu.com")
mylogger.info("打开百度首页。")
time.sleep(1)
mylogger.info("暂停一秒。")
driver.quit()
mylogger.info("关闭并退出浏览器。")
if __name__ == '__main__':
testlog = TestMyLog()
testlog.print_log()