• 20191011-构建我们公司自己的自动化接口测试框架-Config配置


    Config模块主要是为了存放的一些其他配置等的一个目录,当前目录存放日志配置文件

    ################################################
    [loggers]
    keys=root,example01,example02
    [logger_root]
    level=DEBUG
    handlers=hand01,hand02
    [logger_example01]
    handlers=hand01,hand02
    qualname=example01
    propagate=0
    [logger_example02]
    handlers=hand01,hand03
    qualname=example02
    propagate=0
    ###############################################
    [handlers]
    keys=hand01,hand02,hand03
    [handler_hand01]
    class=StreamHandler
    level=DEBUG
    formatter=form01
    args=(sys.stderr,)
    [handler_hand02]
    class=FileHandler
    level=DEBUG
    formatter=form01
    args=('C:\Users\HYJ\Desktop\Onapi\Log\AutomationTestLog.log', 'a')
    [handler_hand03]
    class=handlers.RotatingFileHandler
    level=INFO
    formatter=form01
    args=('C:\Users\HYJ\Desktop\Onapi\Log\AutomationTestLog.log', 'a', 10*1024*1024, 5)
    ###############################################
    [formatters]
    keys=form01,form02
    [formatter_form01]
    format=%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s
    datefmt=%Y-%m-%d %H:%M:%S
    [formatter_form02]
    format=%(name)-12s: %(levelname)-8s %(message)s
    datefmt=%Y-%m-%d %H:%M:%S

    以配置的形式定义日志的格式,输出目录,输出内容等

    对应的log.py文件如下:

    #encoding=utf-8
    # logging模块学习网站:https://cloud.tencent.com/developer/article/1354396
    import logging.config
    import logging
    from ProVar.ProjConfigVar import *
    
    logging.config.fileConfig(conf_path)
    logger = logging.getLogger("example01")
    # loggers : 配置logger信息。必须包含一个名字叫做root的logger,当使用无参函数logging.getLogger()时,默认返回root这个logger,其他自定义logger可以通过 logging.getLogger("fileLogger") 方式进行调用
    # handlers:定义声明handlers信息。常用的handlers包括 StreamHandler(仅将日志输出到kong控制台)、FileHandler(将日志信息输出保存到文件)、RotaRotatingFileHandler(将日志输出保存到文件中,并设置单个日志wenj文件的大小和日志文件个数)
    # formatter : 设置日志格式
    # logger_xxx : 对loggers中声明的logger进行逐个配置,且要一一对应
    # handler_xxx : 对handlers中声明的handler进行逐个配置,且要一一对应
    # formatter_xxx : 对声明的formatterjinx进行配置
    #日志配置文件:多个logger,每个logger,指定不同的handler
    #handler:设定了日志输出行的格式
    #handler:以及设定写日志到文件(是否回滚)?还是到屏幕
    #handler:还定了打印日志的级别。
    def debug(message):
        # 打印debug级别的日志方法
       print ("debug")
       logger.debug(message)
    
    def warning(message):
        # 打印warning级别的日志方法
        logger.warning(message)
    
    def info(message):
        # 打印info级别的日志方法
        logger.info(message)
    
    def error(message):
        #打印error级别的日志错误
        logging.error(message)
    
    if __name__=="__main__":
        debug("hi")
        info("gloryroad")
        warning("hello")
  • 相关阅读:
    Java编程语言学习01-Java语言概述
    Java复习面试指南-06为什么要进行数据类型转换?什么情况下会进行自动类型转换?
    Java复习面试指南-05简单说一下Java当中的char字符类型?
    Java复习面试指南-04Java语言支持的8种基本数据类型是什么?占用的空间是多少?
    Java复习面试指南03-说一下Java当中标识符与关键字的区别?
    Linq LeftJoin 取不同和想同的对像
    vue父组件异步传递prop到子组件echarts画图问题踩坑总结
    linux下使用openssl生成https的crt和key证书
    css hover延时 解决快速划入划出
    记录时间操作
  • 原文地址:https://www.cnblogs.com/hyj691001/p/11654329.html
Copyright © 2020-2023  润新知