接口自动化测试平台开发02添加配置

1、新建config.py文件于项目根目录

2、编辑config.py文件

import os


class Config(object):
    ROOT = os.path.dirname(os.path.abspath(__file__))
    LOG_NAME = os.path.join(ROOT, 'logs', 'hapi.log')
目前仅仅添加了根目录配置和log文件路径配置,后续会添加更多的配置。

3、修改hapi/app/__init__.py文件,引入配置文件

from flask import Flask
from config import Config

hapi = Flask(__name__)
hapi.config.from_object(Config)

根据需要我们还可以去配置日志在不同环境下的不同等级监控。

4、日志需求

我们开发时候总会遇到一些非必现的问题,所以需要我们通过一些手段将问题写入日志,方便后续去排查产生问题的原因。

5、日志模块选用

logging

在Python中有系统自带的功能及其强大的logging模块供我们使用,它的强大不多做介绍了。网上的demo很多,稍微copy一个日志类就能使用。

logbook

这里我采用的是github上的logbook库,单看api调用的话,比logging方便较多。可能因为我是个比较懒的人。

6、安装logbook

pip3 install logbook

7、日志模块规划为一个工具类,在app/utils下

编辑utils/logger.py文件

import logbook
from app import hapi


class Log(object):
    handler = None

    def __init__(self, name='hapi', filename=hapi.config['LOG_NAME']):
        '''
        :param name: 业务名称
        :param filename: 文件名称
        '''
        self.handler = logbook.FileHandler(filename, encodings='utf-8')
        self.logger = logbook.Logger(name)
        self.handler.push_application()

    def info(self, *args, **kwargs):
        return self.logger.info(*args, **kwargs)
    
    def error(self, *args, **kwargs):
        return self.logger.error(*args, **kwargs)

    def warning(self, *args, **kwargs):
        return self.logger.warning(*args, **kwargs)

    def debug(self, *args, **kwargs):
        return self.logger.debug(*args, **kwargs)

在这里,我们定义了一个Log类,这个类接受的name是日志的分类,如果不传入则默认为pity,filename(日志文件名)默认值为引入config.py中配置的LOG_NAME

然后将logbook中的handler设为写入的文件,并将info/error/warning/debug等常用方法封装在Log类中。

8、修改run.py

from app import hapi
from app.utils.logger import Log

@hapi.route('/')
def hello_world():
    log = Log("hello world专用")
    log.info("有人访问你的网站了")
    return 'Hello World!'


if __name__ == "__main__":
    hapi.run("0.0.0.0", threaded=True, port="6677")

运行报错,发现缺少log目录,在hapi目录下手动创建。

再次运行服务则成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值