乐趣区

关于python:接口测试-PythonPytestAllure接口自动化框架

// # coding=utf-8
import sys
import logbook
import os
from logbook import *
from logbook.more import ColorizedStderrHandler

sys.path.append(‘../’)

sys.path.append(‘/Users/dasouche/’)

以后文件的上一层

curPath = os.path.abspath(os.path.dirname(__file__))

获取 myProject,也就是我的项目的根门路

rootPath = curPath[:curPath.find(“xiaobang-api-auto/”)+len(“xiaobang-api-auto/”)] # 获取 myProject,也就是我的项目的根门路
def log_type(record, handler):

log = "[{date}] [{level}] [{filename}] [{func_name}] [{lineno}] {msg}".format(
    date=record.time,  # 日志工夫
    level=record.level_name,  # 日志等级
    filename=os.path.split(record.filename)[-1],  # 文件名
    func_name=record.func_name,  # 函数名
    lineno=record.lineno,  # 行号
    msg=record.message  # 日志内容
)
return log

日志寄存门路

LOG_DIR = rootPath + ‘log’
print(LOG_DIR)
if not os.path.exists(LOG_DIR):

os.makedirs(LOG_DIR)

日志打印到屏幕

log_std = ColorizedStderrHandler(bubble=True)
log_std.formatter = log_type

日志打印到文件

log_file = Skrill 下载 TimedRotatingFileHandler(

os.path.join(LOG_DIR, '%s.log' % 'log'), date_format='%Y-%m-%d', bubble=True, encoding='utf-8')

log_file.formatter = log_type

脚本日志

run_logger = Logger(“global_log”)
def init_logger():

logbook.set_datetime_format("local")
run_logger.handlers = []
run_logger.handlers.append(log_file)
run_logger.handlers.append(log_std)

”’
日志等级:
critical 严重错误,会导致程序退出
error 可控范畴内的谬误
warning 正告信息
notice 大多状况下心愿看到的记录
info 大多状况不心愿看到的记录
debug 调试程序时具体输入的记录
”’

实例化,默认调用

初始化日志零碎(被默认调用)

init_logger()

if name == “__main__”:

run_logger.info(“ 测试日志模块 ”)

run_logger.info(“ 测试 ”)

run_logger.debug(‘sss’)

也能够以。ini 文件配置代码片段如下
[loggers]
keys = root
[handlers]
keys = consoleHandler,fileHandler
[formatters]
keys = fmt
[logger_root]
level = DEBUG
handlers = consoleHandler,fileHandler
[handler_consoleHandler]
class = StreamHandler
level = DEBUG
formatter = fmt
args = (sys.stdout,)
[handler_fileHandler]
class = logging.handlers.RotatingFileHandler
level = DEBUG
formatter = fmt
args = (‘%(logfilename)s’, ‘a’, 10485760, 20)
[formatter_fmt]
format = %(asctime)s — %(levelname)s — %(name)s — %(funcName)s — %(lineno)d — %(message)s
日志加载代码
config_log_file = os.path.join(config_dir, ‘logging.ini’)
if not os.path.exists(log_dir):

os.makedirs(log_dir)

logpath = os.path.join(log_dir, ‘%s%s.log’ % (‘log-‘,time.strftime(‘%Y-%m-%d’)))
logging.config.fileConfig(config_log_file,defaults={‘logfilename’:logpath})

退出移动版