No project description provided
Project description
Azure's Application insights for Starlette
This is a small module to use Azure's Application insights on a Starlette application.
How to use:
from starlette.applications import Starlette
from starlette.middleware.base import BaseHTTPMiddleware
app = Starlette()
from .appinsight import AppInsights
insights = AppInsights('<instrumentation_key>')
app.add_exception_handler(Exception, insights.exception_handler)
app.add_middleware(BaseHTTPMiddleware, dispatch=insights.request_middleware)
app.add_middleware(BaseHTTPMiddleware, dispatch=insights.flush_middleware)
# or any variation of how you log in your app
logging.getLogger(__name__).addHandler(insights.log_handler)
@app.route('/')
async def homepage(request):
return JSONResponse({'hello': 'world'})
if __name__ == '__main__':
uvicorn.run(app, host='0.0.0.0', port=8000)
At this point, any request, log message or exception will be pushed to Azure's application insights.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for applicationinsights-starlette-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c762e264d9c01760c82328b5cf5b04251208007943d601e371417b1b74c4d0d7 |
|
MD5 | e402a420a6f96e1cc13eec6c84b641bb |
|
BLAKE2b-256 | adbf492518cec828292639d58fa0f982bca1fab223551ce95d73c96812f69ade |