asgi框架的哨兵集成。
sentry-asgi的Python项目详细描述
哨兵asgi
asgi框架的哨兵集成。
安装:
pip install sentry-asgi
用法:
fromsentry_asgiimportSentryMiddlewareimportsentry_sdksentry_sdk.init(dsn=...)app=...app=SentryMiddleware(app)
下面是一个更完整的示例,使用starlette:
importsentry_sdkfromsentry_asgiimportSentryMiddlewaresentry_sdk.init(dsn=...)app=Starlette()@app.route("/")defhomepage(request):raiseValueError("nope")app.add_middleware(SentryMiddleware)
注释
python版本支持
sentry sdk需要python 3.7的contextvars
支持才能正常运行
将消息和日志连接回添加了SentryMiddleware的请求上下文。
在3.6及以下版本中,SentryMiddleware将很好地捕获和记录应用程序异常, 但是对于任何 在线程池执行器或子任务中运行。
asgi框架应该确保任何线程池执行器preserve the ^{
终点信息
建议框架在asgi范围内填充一个“端点”键, 指示中间件应记录哪个视图函数或类。