pyhon 自动化 logger
#!/Users/windows8.1/PycharmProjects/pythonapi
# @Software: PyCharm Community Edition
# -*- coding: utf-8 -*-
'''
日志的级别包括:debug info error warming critical
使用 RotatingFileHandler,优势定义最大字节数多少,备份次数多少次,
设置最大字节 maxBytest = 20*1024*1024
定义备份次数最大个数10个 backupCount=10
不同modul的logger 类,需要封装
'''
import os
import logging
import logging.handlers
from common import contants
def get_logger(logger_name):
logger = logging.getLogger(logger_name)
#每个model输出的最低级别为 info
logger.setLevel('INFO')
# 定义输出格式
fmt = "%(asctime)s-%(name)s-%(levelname)s-%(message)s-[%(filename)s:%(lineno)s]"
formate = logging.Formatter(fmt)
#定义日志大小 和 日志输出存放的位置
file_name = os.path.join(contants.logs_dir,'case.log')
file_hander = logging.handlers.RotatingFileHandler(file_name, maxBytes=20 * 1024 * 1024, backupCount=10,
encoding='utf-8')
file_hander.setLevel('INFO')
file_hander.setFormatter(formate)
logger.addHandler(file_hander)
return logger
# logger = get_logger(logger_name='LoginTest')
# logger.error('this is login error')
封装完之后需要在 contants.py 中增加log 路径:
logs_dir = os.path.join(base_dir,"logs")
print(logs_dir)
common_dir = os.path.join(base_dir,"common")
log_dir = os.path.join(common_dir,"log")
print(log_dir)
最后在 testcase 中引入model
from common import contants,log
log = log.get_logger('login/invest/rechage/register')
再次 把 print 修改成 log.info/log.error
pyhon 自动化 logger的更多相关文章
- python接口自动化(四十)- logger 日志 - 下(超详解)
简介 按照上一篇的计划,这一篇给小伙伴们讲解一下:(1)多模块使用logging,(2)通过文件配置logging模块,(3)自己封装一个日志(logging)类.可能有的小伙伴在这里会有个疑问一个l ...
- python接口自动化(三十九)- logger 日志 - 上(超详解)
简介 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用.这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP, ...
- 【python接口自动化】logger
#! /usr/bin/env python # coding=GBK import logging, os class Logger: def __init__(self, path, clevel ...
- 项目自动化建构工具gradle 入门3——生一个exe的helloWorld
前两次呢,我们能够用一个外部的jar 来实现输出helloWorld.但问题是我每次都要用java -jar 来执行,这样我们自己玩还可以,让用户玩就不好了.所以我们生成一个exe给他们吧.这次我们仍 ...
- 项目自动化建构工具gradle 入门2——log4j输出helloWorld
上一章节呢,有一个能跑的程序了.但是对做工程的人来说,用日志输出感觉比用System.out要有档次一点.比如使用log4j.直接上例子: 1进入D:\work\gradle\log目录 ,您电脑没 ...
- 【Hello CC.NET】自动化发布时 Web.config 文件维护
在 <[Hello CC.NET]CC.NET 实现自动化集成> 的 HellowWorld 中经实现: 1.获取源码 2.编译项目 3.集成测试 4.Ftp发布项目 5.创建安装包 6. ...
- Selenium Web 自动化 - 项目实战(三)
Selenium Web 自动化 - 项目实战(三) 2016-08-10 目录 1 关键字驱动概述2 框架更改总览3 框架更改详解 3.1 解析新增页面目录 3.2 解析新增测试用例目录 3. ...
- Selenium2学习-032-WebUI自动化实战实例-030-JavaScript 在 Selenium 自动化中的应用实例之五(高亮标示元素)
在自动化脚本编写过程中,操作元素之前,需要对元素进行高亮显示(通过修改元素的边框样式),同时进行截图,以记录操作的元素对象.在实际应用中较为少见,通常用于演示,或者发生错误时的屏幕截图捕捉,用于错误报 ...
- Selenium2学习-029-WebUI自动化实战实例-027-判断元素是否存在
非常简单的源码,敬请各位小主参阅.若有不足之处,敬请大神指正,不胜感激! /** * Verify the element exist or not * * @author Aaron.ffp * @ ...
随机推荐
- 精尽 MyBatis 源码分析 - 整体架构
该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...
- 使用大乌龟git和码云搭建版本库
刚刚过完清明,上班的第一天,大佬跟我说,要用码云和git搭建一个版本库,菜鸡的博主楞了半天,然后赶紧上网找资料,此时,一旁的大佬已经看不下去了,终于,出手了....... 1. 首先,先把大乌龟git ...
- 万字长文!从底层开始带你了解并发编程,彻底帮你搞懂java锁!
线程是否要锁住同步资源 锁住 悲观锁 不锁住 乐观锁 锁住同步资源失败 线程是否要阻塞 阻塞 不阻塞自旋锁,适应性自旋锁 多个线程竞争同步资源的流程细节有没有区别 不锁住资源,多个线程只有一个能修改资 ...
- 你了解ABBYY FineReader 14么?
有没有一款是能够同时处理纸质文档和个类型PDF的一站式解决方案?答案是肯定的,ABBYY FineReader 14集合了强大的光学字符识别(OCR)以及 PDF 查看和编辑功能.不仅能够高效识别图片 ...
- 在CorelDRAW2019创建对称绘图模式
对称绘图模式是CorelDRAW 2018推出的全新功能,在2019的版本中又得到了极大的完善,通过对称绘图模式可以创建平衡.和谐.独一无二的效果,对称在大自然中随处可见,因此设计元素很可能将依靠于它 ...
- 「LOJ 541」「LibreOJ NOIP Round #1」七曜圣贤
description 题面很长,这里给出题目链接 solution 用队列维护扔掉的红茶,同时若后扔出的红茶比先扔出的红茶编号更小,那么先扔出的红茶不可能成为答案,所以可以用单调队列维护 故每次询问 ...
- Linux(CentOS 7下httpd的安装)
Linux(CentOS 7下httpd的安装) 自己是个linux小白.最近几天在学linux,看到视频教程中安装源码包httpd所以自己想试一试,安装过程中有很多的错误,在网上找了很久也没找到,要 ...
- 团队作业第六次——Beta冲刺
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Beta冲刺 作业正文 正文 其他参考文献 无 代码规范与计划 代码 ...
- Beta冲刺随笔——Day_Nine
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Beta冲刺 作业正文 正文 其他参考文献 无 今日事今日毕 林涛: ...
- python基本输入输出函数
python程序设计中有三个重要的基本输入.输出函数,用于输入.转换和输出,分别是input(),eval(),print() 1,input()函数 """ input ...