Skip to main content

module to log requests and response

Project description

Documentation

In order to use this logger , all you need to do is to import it in your machine using:

    
        pip install loggover
    

After installation here comes the configuration part , one need to do in order to use this logger in flask application. There are basically 5 configurable parameters are there in the logger named:

1.buffer size

2.buffer time-out time

3.project id(from viasocket)

4.auth key(from viasocket)

5.END_POINT_TO_SIMULATE_DB (this the end point , from where logger gets two parameters called includes (it is list of routes whose logges to be send) and second is levels (it is list of logging levels whose logs to be send) )

6.time_to_refresh_cofg(this is the time interval in seconds after which the endpoint "END_POINT_TO_SIMULATE_DB" will be automatically hit to get updated value of includes and levels)

Note: Property number 3, 4 , and 6 are mandatory to set, otherwise you will get error.

Refer below code snippet to configure above parameters in your flask application:

    
loggover.set_buffer_size(2)
loggover.set_buffer_timeout(2)
loggover.set_project_id('szfb72eUt5eRaWxaXE6J')
loggover.set_auth_key('ucdPnQgLqT2GPsquD9xv')
loggover.set_END_POINT_TO_SIMULATE_DB("http://127.0.0.1:9000/")
loggover.set_time_to_refresh(60)
    

WAIT A MIN!!!

Before you move further , please make sure that you have a endpoint which returns two lists , includes and levels.

For your reference , below is sample application which does the required function. For now you can create a app "simulating_db.py" in your system and paste the below code.

from flask import Flask,jsonify, request
import json

app = Flask(name)


@app.route("/", methods=["POST","GET"])
def setName():
    if request.method == 'GET':
        includes = ['/login']
        levels=['WARN']
        res = [includes,levels]
        print(res)
        return jsonify(res)

We are not yet done with this step , before running main application , start this app:

go to path where you created above file->

run "set flask_app=simulating_db.py"

run "set flask_env=development"

run "flask run --port=9000"

hasshh!! we are done with this. Lets move forward.

After successfully completing above step , lets move to the core functionality of our logger i.e logging request and response data. For this copy and paste below code in the end of your flask application.


@app.before_request
def start_timer():
    print('before every request')
    g.start = time.time()

@app.after_request
def fun(response):
    loggover.log_request(response)
    return response

Heads up!! We are done.

logger does not stop serving here only , it has something more for you. Apart from request and response logs , if you want to log info or error or warning logs then for this logger has three more methods. you can use this methods anywhere you want.

for reference see below snippet.

info() method

loggover.info('Information message')

warn() method

loggover.warn('Warning!!')

error() method

loggover.error('Opps!!Error!')

we are almost done now...but for better understanding about how to use this logger, have a look at complete flask application which uses this logger.


import datetime
import time
import json

import loggover

from flask import Flask, g, request


loggover.set_buffer_size(2)
loggover.set_buffer_timeout(2)
loggover.set_project_id('szfb72eUt5eRaWxaXE6J')
loggover.set_auth_key('ucdPnQgLqT2GPsquD9xv')
loggover.set_END_POINT_TO_SIMULATE_DB("http://127.0.0.1:9000/")
loggover.set_time_to_refresh(30)

app = Flask(__name__)


@app.route("/")
def index():
    loggover.info('inside index')
    print("index is running!")
    return "Hello world"

@app.route("/login")
def login():
    loggover.error('inside login')
    print("on login page!")
    return "login page"

@app.route("/register")
def register():
    loggover.warn('inside register')
    print("on register page!")
    return "register page"

@app.route("/logout")
def logout():
    loggover.info('inside logout')
    print("on logout page!")
    return "logout page"


if __name__ == "__main__":
    app.run()



@app.before_request
def start_timer():
    print('before every request')
    g.start = time.time()


@app.after_request
def fun(response):
    loggover.log_request(response)
    return response

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

loggover-0.0.5-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file loggover-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: loggover-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3rc1

File hashes

Hashes for loggover-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9047f40541e775ae07f27a0623dd86480f4b5f3726e2253a4b65ea49003628f4
MD5 90bd0865fad77d9b0bfa42c6c1056424
BLAKE2b-256 6edec32db0a2969a7f874f7b807a203dfa12a330e8a57f80de3bde46e0d35dac

See more details on using hashes here.

Supported by

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