Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

resurfaceio/logger-python

Repository files navigation

resurfaceio-logger-python

Easily log API requests and responses to your own security data lake.

PyPI CodeFactor License Contributing

Contents

Requires Python 3.7 or higher and a requests HTTP library. No other dependencies to conflict with your app.

pip3 install --upgrade usagelogger
from aiohttp import web
from usagelogger.middleware.aiohttp import HttpLoggerForAIOHTTP
async def test(request):
 return web.Response(text="Hello")
app = web.Application(
 middlewares=[
 HttpLoggerForAIOHTTP(
 url="http://localhost:7701/message", rules="include debug"
 )
 ]
)
app.router.add_get("/", test)
web.run_app(app)

First edit settings.py to register middleware, like this:

Note: We recommend placing Resurface middleware at the top in the middleware stack.

MIDDLEWARE = [
 "usagelogger.middleware.django.HttpLoggerForDjango", # Always on the top
 "django.middleware...",
]

Then add a new section to settings.py for logging configuration, like this:

USAGELOGGER = {
 'url': 'http://localhost:7701/message', 
 'rules': 'include debug' 
}
from flask import Flask
from usagelogger.middleware.flask import HttpLoggerForFlask
app = Flask(__name__)
app.wsgi_app = HttpLoggerForFlask( # type: ignore
 app=app.wsgi_app, url="http://localhost:7701/message", rules="include debug"
)
@app.route("/")
def home():
 return "This route works!"
app.run(debug=True)
from usagelogger import resurface
s = resurface.Session(url="http://localhost:7701/message", rules="include debug")
s.get(...)

Loggers can be directly integrated into your application using our API. This requires the most effort compared with the options described above, but also offers the greatest flexibility and control.

API documentation

Loggers always have an active set of rules that control what data is logged and how sensitive data is masked. All of the examples above apply a predefined set of rules (include debug), but logging rules are easily customized to meet the needs of any application.

Logging rules documentation


© 2016-2024 Graylog, Inc.

AltStyle によって変換されたページ (->オリジナル) /