zoukankan      html  css  js  c++  java
  • pageobject框架下logging模块的应用

    前言:每个人都有卸不掉的重量,跳不出的限制,甩不脱的期待。为人处事无愧于心,自由和答案在风中飘荡!

    应用之前,需新建配置文件,将日志路径和日志级别写到配置文件中,格式如下:

    # 日志路径
    log_path = logs
    # 日志级别 DEBUG = 10  INFO = 20 WARNING = 30  ERROR = 40  CRITICAL = 50
    log_level = 20
    logging模块应用实例:
    import os
    import logging
    import time
    from common.config_utils import local_config
    
    current_path = os.path.dirname(__file__)
    log_path = os.path.join( current_path , '..' , local_config.log_path )
    
    class LogUtil(object):
        def __init__(self,logger=None):
            self.log_name = os.path.join(log_path, 'UITest_%s.log' % time.strftime('%Y_%m_%d'))
            self.logger = logging.getLogger(logger)
            self.logger.setLevel(local_config.log_level) #
    
            self.fh = logging.FileHandler(self.log_name, 'a', encoding='utf-8')
            self.fh.setLevel(local_config.log_level)
            self.ch = logging.StreamHandler()
            self.ch.setLevel(local_config.log_level)
    
            formatter = logging.Formatter(
                '[%(asctime)s] %(filename)s->%(funcName)s line:%(lineno)d [%(levelname)s] : %(message)s')
            self.fh.setFormatter(formatter)
            self.ch.setFormatter(formatter)
            self.logger.addHandler(self.fh)
            self.logger.addHandler(self.ch)
            self.fh.close()
            self.ch.close()
    
        def get_log(self):
            return self.logger
    
    logger = LogUtil().get_log()
    
    if __name__=='__main__':
        logger.info( 'newdream' )
    

      

  • 相关阅读:
    centos7安装kafka
    Qt——透明无边框Widget的bug
    Qt——浅谈样式表
    Qt——QLineEdit使用总结
    Qt——信号槽连接:基于字符串与基于函数的连接之间的不同
    Qt——树的搜索实现源码
    Qt——树结点的搜索
    Qt——鼠标拖动调整窗口大小
    Qt——右键菜单
    Qt——正则表达式
  • 原文地址:https://www.cnblogs.com/miaoxiaochao/p/12881668.html
Copyright © 2011-2022 走看看