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 details)

Uploaded Source

File details

Details for the file flask-easylog-1.0.0.tar.gz.

File metadata

  • Download URL: flask-easylog-1.0.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for flask-easylog-1.0.0.tar.gz
Algorithm Hash digest
SHA256 83348d7e66749a237a6929b95cdb32a335fc2c973e6c4e349d448436b558be7b
MD5 16875cb54de52e27af2000a5f4ed0039
BLAKE2b-256 235c4bb04c41e8f9bb3124b29b38309290769420abd82cef47fd0843102d9b22

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