Skip to main content

This project wraps the existing oslo.log library to providerequest logging and logger access within flask..

Project description

Flask_OsloLog

Build Status Coverage Status

Flask Oslo Log is a WSGI Middleware and Flask Extension intended to provide logging via the Oslo-Log package inside Flask.

Installation

  1. git clone {thisrepo}

  2. 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

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flask_oslolog-0.1.tar.gz (5.7 kB view details)

Uploaded Source

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

Hashes for flask_oslolog-0.1.tar.gz
Algorithm Hash digest
SHA256 724c55bd74b3e7fa2bc31d16eb8a6e6d866fae9ff3b9d9bc08480466ebc5a5f2
MD5 1efb87ae7c724b80e22870d612244086
BLAKE2b-256 a762fec02ce761b548b1289680bb1be1aa0bce2b2c4017d5b31bd6c67c78aef9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page