zoukankan      html  css  js  c++  java
  • python+selenium-日志封装(logging)

    # -*- coding: utf-8 -*-
    import logging
    import time
    import getcwd
    import os

    def get_log(logname):


    #创建一个logger
    logger = logging.getLogger(logname)
    logger.setLevel(logging.INFO)

    #设置日志存放路径,日志文件名
    #获取本地实际,转换为设置的格式
    rq = time.strftime('%Y%m%d%H%M',time.localtime(time.time()))
    #设置所有日志和错误日志的存放路径
    path = getcwd.get_cwd()

    #通过getcwd.py文件的绝对路径来拼接日志的存放路径
    all_log_path = os.path.join(path,'Logs/All_Logs/')
    error_log_path = os.path.join(path,'Logs/Error_Logs/')

    #设置日志文件名
    all_log_name = all_log_path + rq + '.log'
    error_log_name = error_log_path + rq + '.log'

    #创建handler
    #创建一个handler写入所有日志
    fh = logging.FileHandler(all_log_name)
    fh.setLevel(logging.INFO)
    #创建一个handler写入错误日志
    eh = logging.FileHandler(error_log_name)
    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 -%(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
    log1 = get_log('test')#test需要打印日志的项目名称
  • 相关阅读:
    在Windows环境下搭建redis
    三种主流的Web服务实现方案(REST+SOAP+XML-RPC)简述及比较
    ASP.NET Web API身份验证和授权
    quartz 设置时间格式
    服务端发post请求产生的编码问题
    大型网站的灵魂——性能
    大型网站系统架构的演化
    c# url自动解码解决方案
    C# RSA非对称加密实现
    .net上传图片之使用第三方平台七牛上传图片接口
  • 原文地址:https://www.cnblogs.com/jayson-0425/p/9713331.html
Copyright © 2011-2022 走看看