Skip to main content

flask_easylog extension for flask application

Project description

Flask-easylog

help log management for flask application

Installation

pip install flask-easylog

Or

git clone https://github.com/fraoustin/flask-easylog.git
cd flask-easylog
python setup.py install

You can load test by

python -m unittest discover -s test

Usage

from flask import Flask, request, current_app
from logging import DEBUG, INFO, ERROR

from flask_easylog import EasyLog, FMT_ACCESS_LOG, log, SpecificLevelLog, Api, Ui

app = Flask(__name__)
app.secret_key = 'super secret string'
app.logger.setLevel(INFO)

app.logger.info("before add EasyLog")

EasyLog(app,
    fmt = FMT_ACCESS_LOG,
    afterlog = True,
    beforelog = True)
app.register_blueprint(Api(url_prefix='/api'))
app.register_blueprint(Ui(url_prefix='/ui'))
app.logger.info("after add EasyLog")

@app.route("/")
def hello():
    current_app.logger.critical("critical from hello")
    current_app.logger.error("error from hello")
    current_app.logger.info("info from hello")
    current_app.logger.debug("debug from hello")
    return "Hello World!"

@app.route("/one")
@log(DEBUG)
def one():
    current_app.logger.critical("critical from one")
    current_app.logger.error("error from one")
    current_app.logger.info("info from one")
    current_app.logger.debug("debug from one")
    return "Hello World!"

@app.route("/two")
@log
def two():
    current_app.logger.critical("critical from two")
    current_app.logger.error("error from two")
    current_app.logger.info("info from two")
    current_app.logger.debug("debug from two")
    return "Hello World!"

@app.route("/three")
@log(ERROR)
def three():
    current_app.logger.critical("critical from three")
    current_app.logger.error("error from three")
    current_app.logger.info("info from three")
    current_app.logger.debug("debug from three")
    return "Hello World!"

@app.route("/four")
def four():
    current_app.logger.critical("critical from four")
    current_app.logger.error("error from four")
    current_app.logger.info("info from four")
    current_app.logger.debug("debug from four")
    return "Hello World!"

SpecificLevelLog['four']=ERROR

if __name__ == "__main__":
    app.logger.info("before run")
    app.run(host="0.0.0.0", port=8080)

Documentation

Plugin EasyLog

Api EasyLog

Ui EasyLog

Feature

  • manage request too long by Filter and @

  • manage level by rule (change by api)

  • change work of print function

  • test access.log with goaccess

  • add fct for debug if status >= 500 and not mode debug

V. 0.1.0

  • init

  • add request_id

  • add info from config and request

  • add info timestamp

Project details


Download files

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

Source Distribution

flask-easylog-1.0.0.tar.gz (11.3 kB view hashes)

Uploaded Source

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