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
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
Metadata
Release files for flask-easylog 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flask-easylog-1.0.0.tar.gz | 11.3 kB | Details |
Release files / flask-easylog-1.0.0.tar.gz
| Download URL | flask-easylog-1.0.0.tar.gz |
|---|---|
| Size | 11.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
83348d7e66749a237a6929b95cdb32a335fc2c973e6c4e349d448436b558be7b
|
|
BLAKE2b-256 checksum How to use checksums |
235c4bb04c41e8f9bb3124b29b38309290769420abd82cef47fd0843102d9b22
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Python-urllib/3.7
|