This project wraps the existing oslo.log library to providerequest logging and logger access within flask..
Project description
Flask_OsloLog
Flask Oslo Log is a WSGI Middleware and Flask Extension intended to provide logging via the Oslo-Log package inside Flask.
Installation
git clone {thisrepo}
python setup.py install
Getting Started with Flask Oslo Log
Flask Oslo Log is a Flask Extension which adds request logging via oslo.log, as well as exposing an arbitrary logger to oslo.log similarly to the standard app logger.
Configuring the Extension
flask_oslolog requires no configuration of it’s own, but you may wish to utilize the upstream configuration options of oslo.log to configure log file location, etc.
A basic configuration might look like this:
[DEFAULT]
debug=True
log_file=/var/log/yourapp/flask.log
Initializing the Extension
Simply wrap the application object during instantiation:
from flask import Flask
from flask_oslolog import OsloLog
app = Flask(__name__)
log = OsloLog(app)
if __name__ == "__main__": # pragma: nocover
app = create_app(app_name=__name__)
app.run(host="0.0.0.0", port=5000
Accessing the extension
Once the extension is intialized, you will notice that, by default, request logging has been enabled. In your log file you will begin to see messages like this:
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
Additionally, arbitrary logging will become available:
from flask import Flask
from flask_oslolog import OsloLog
app = Flask(__name__)
log = OsloLog(app)
@app.route("/")
log.logger.warn("Someone is accessing the root!")
return "access granted"
if __name__ == "__main__": # pragma: nocover
app = create_app(app_name=__name__)
app.run(host="0.0.0.0", port=5000
Initializing the Extension in an Application Factory app
As with all flask extensions, it is also accessible in an application Factory setting by initializing the extension separately from it’s instantiation:
from flask import Flask
from flask_oslolog import OsloLog
log = OsloLog()
def create_app(app_name):
app = Flask(app_name)
log.init_app(app)
return app
if __name__ == "__main__": # pragma: nocover
app = create_app(app_name=__name__)
app.run(host="0.0.0.0", port=5000)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file flask_oslolog-0.1.tar.gz
.
File metadata
- Download URL: flask_oslolog-0.1.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 724c55bd74b3e7fa2bc31d16eb8a6e6d866fae9ff3b9d9bc08480466ebc5a5f2 |
|
MD5 | 1efb87ae7c724b80e22870d612244086 |
|
BLAKE2b-256 | a762fec02ce761b548b1289680bb1be1aa0bce2b2c4017d5b31bd6c67c78aef9 |