首页 / 日志 / python日志模块的使用
python日志模块的使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python日志模块的使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2839字,纯文字阅读大概需要5分钟。
内容图文
https://www.cnblogs.com/yyds/p/6901864.html
https://www.cnblogs.com/goodhacker/p/3355660.html
https://cuiqingcai.com/6080.html
实践:把日志模块加到requests+excel接口测试框架中
新建一个logs文件夹,用来存放输出的日志文件;然后在utils工具中创建一个logger.py,封装日志调用方法
logger.py的内容如下
# -*- coding:utf-8 -*- import logging import os from utils import getcwd log_path = os.path.dirname(getcwd.get_cwd()) print(log_path) class Logger: def __init__(self,loggername): #创建一个logger self.logger = logging.getLogger(loggername) self.logger.setLevel(logging.DEBUG) #创建一个handler,用于写入日志文件 log_path = os.path.dirname(getcwd.get_cwd())+"/logs/" # 指定文件输出路径,注意logs是个文件夹,一定要加上/,不然会导致输出路径错误,把logs变成文件名的一部分了 logname = log_path + ‘out.log‘ #指定输出的日志文件名 fh = logging.FileHandler(logname,encoding = ‘utf-8‘) # 指定utf-8格式编码,避免输出的日志文本乱码 fh.setLevel(logging.DEBUG) #创建一个handler,用于将日志输出到控制台 ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # 定义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 get_log(self):
"""定义一个函数,回调logger实例""" return self.logger if __name__ == ‘__main__‘: t = Logger("hmk").get_log().debug("User %s is loging" % ‘jeck‘)
在主函数run_main.py中使用日志
# coding: utf-8 # author: hmk from base.main import RunMethod from get_datas.get_data import GetData from utils.handle_excel import HandleExcel import json from utils.logger import Logger class RunMain: def __init__(self): """实例化写好的类,备用""" self.run_method = RunMethod() self.get_data = GetData() self.excel = HandleExcel() self.logger = Logger(__name__) def run(self): count = self.get_data.get_nrows() # print(count) for i in range(1, count): priority = self.get_data.get_priority(i) # 获取用例的优先级priority url = self.get_data.get_url(i) # 获取用例的url method = self.get_data.get_method(i) # 获取请求方法 params = self.get_data.get_params(i) # 获取参数(此处取出来的数据是字符串格式) params_load = json.loads(params) # 将获取到的参数反序列化,即转化为字典 except_value = self.get_data.get_except_value(i) # 获取预期结果值 if priority == ‘H‘: r = self.run_method.run_main(method, url, params_load, header=None) # 如果是高优先级用例,则执行 # print(r) self.logger.get_log().debug(‘第‘+str(i)+‘个接口的返回结果为:%s‘,r) # 输出接口响应内容 # print(type(r)) if except_value in r: # print(self.get_data.get_caseSeq(i) + ‘测试通过‘) self.logger.get_log().debug(‘第‘ + str(i) + ‘接口测试通过‘) # self.get_data.write_values(i, ‘PASS‘) # 调用get_data.py文件中的write_values()方法 self.excel.write_value(i, 11, ‘pass‘) # 调用handle_excel.py文件中的write_value()方法 else: # print(self.get_data.get_caseSeq(i) + ‘执行失败‘) self.logger.get_log().debug(‘第‘ + str(i) + ‘接口测试不通过‘) # self.get_data.write_values(i, ‘FAIL‘) self.excel.write_value(i, 11, ‘fail‘) if __name__ == ‘__main__‘: t = RunMain() t.run()
打印出的日志内容
这样就可以替代用print来查看代码运行的输出内容了
原文:https://www.cnblogs.com/jason89/p/10456176.html
内容总结
以上是互联网集市为您收集整理的python日志模块的使用全部内容,希望文章能够帮你解决python日志模块的使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。