【Python接口自动化】log日志的封装

# coding:utf-8

importlogging

importtime

importos

# log_path是存放日志的路径

cur_path = os.path.dirname(os.path.realpath(__file__))

log_path = os.path.join(os.path.dirname(cur_path),'logs')

#如果不存在这个logs文件夹,就自动创建一个

if notos.path.exists(log_path):os.mkdir(log_path)

classLog():

def__init__(self):

#文件的命名

self.logname = os.path.join(log_path,'%s.log'%time.strftime('%Y_%m_%d'))

self.logger = logging.getLogger()

self.logger.setLevel(logging.DEBUG)

#日志输出格式

self.formatter = logging.Formatter('[%(asctime)s] - %(filename)s] - %(levelname)s: %(message)s')

def__console(self,level,message):

#创建一个FileHandler,用于写到本地

fh = logging.FileHandler(self.logname,'a',encoding='utf-8')#这个是python3的

fh.setLevel(logging.DEBUG)

fh.setFormatter(self.formatter)

self.logger.addHandler(fh)

#创建一个StreamHandler,用于输出到控制台

ch = logging.StreamHandler()

ch.setLevel(logging.DEBUG)

ch.setFormatter(self.formatter)

self.logger.addHandler(ch)

#区分日志级别

iflevel =='info':

self.logger.info(message)

eliflevel =='debug':

self.logger.debug(message)

eliflevel =='warning':

self.logger.warning(message)

eliflevel =='error':

self.logger.error(message)

#避免日志输出重复问题

self.logger.removeHandler(ch)

self.logger.removeHandler(fh)

#关闭打开的文件

fh.close()

defdebug(self,message):

self.__console('debug',message)

definfo(self,message):

self.__console('info',message)

defwarning(self,message):

self.__console('warning',message)

deferror(self,message):

self.__console('error',message)

if__name__ =="__main__":

log = Log()

log.info("----------自动化测试开始----------")

log.info("登录成功...")

log.info('输入手势密码...')

log.warning("-----------自动化测试结束----------")

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180824G0FXZ500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券