此项目将现有的oslo.log库包装起来,以提供Flask中的请求日志和日志访问。
flask-oslolog的Python项目详细描述
安装
- git clone {thisrepo}
- python setup.py install
烧瓶奥斯陆日志入门
flask oslo log是一个flask扩展,它通过 oslo.log,以及类似地向oslo.log公开任意记录器 到标准应用程序记录器。
配置扩展
烧瓶不需要自己的配置,但您可能希望 利用oslo.log的上游配置选项来配置 日志文件位置等。
基本配置可能如下:
[DEFAULT]debug=Truelog_file=/var/log/yourapp/flask.log
初始化扩展
在实例化期间简单地包装应用程序对象:
fromflaskimportFlaskfromflask_oslologimportOsloLogapp=Flask(__name__)log=OsloLog(app)if__name__=="__main__":# pragma: nocoverapp=create_app(app_name=__name__)app.run(host="0.0.0.0",port=5000
访问分机
一旦扩展被初始化,您将注意到,默认情况下, 已启用请求日志记录。在日志文件中,您将开始看到 这样的消息:
2017-01-19 18:30:26.654 2082 INFO flask\_oslog.middleware \[-\] 1.2.3.4 my_user Confirmed "GET /resource/1" status: 200 len: 8317
此外,还可以使用任意日志:
fromflaskimportFlaskfromflask_oslologimportOsloLogapp=Flask(__name__)log=OsloLog(app)@app.route("/")log.logger.warn("Someone is accessing the root!")return"access granted"if__name__=="__main__":# pragma: nocoverapp=create_app(app_name=__name__)app.run(host="0.0.0.0",port=5000
在应用程序工厂应用程序中初始化扩展
与所有烧瓶扩展一样,它也可以在应用程序中访问 通过分别初始化扩展名和 实例化:
fromflaskimportFlaskfromflask_oslologimportOsloLoglog=OsloLog()defcreate_app(app_name):app=Flask(app_name)log.init_app(app)returnappif__name__=="__main__":# pragma: nocoverapp=create_app(app_name=__name__)app.run(host="0.0.0.0",port=5000)