coc*_*rry 2 django sentry django-rest-framework
我使用 django-restful 框架,并且我想在 ModelViewSet 中发生错误时将用户信息添加到 Sentry 的报告中。
我发现这个哨兵文档:https ://docs.sentry.io/enriching-error-data/context/ ? _ga = 1.219964441.1220115692.1472094716%3F_ga & platform = python#capturing-the-user
它给出了一些代码如下:
from sentry_sdk import configure_scope
with configure_scope() as scope:
scope.user = {"email": "john.doe@example.com"}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何正确使用它。我认为存在比以下更好的方法:
@list_route()
def fun_xxx(self, request, *args, **kwargs):
user = request.user
with configure_scope() as scope:
scope.user = {"id": user.id,......}
...some code may cause an error...
return Response({...})
Run Code Online (Sandbox Code Playgroud)
谁能给我一些建议?:)
如评论中所述,Django集成将自动附加此特定数据。
至于如何在 Django 应用程序中一般添加数据的问题,您基本上是在寻找在每个视图之前运行的东西。一个 Django 中间件适合这个:
def sentry_middleware(get_response):
def middleware(request):
with configure_scope() as scope:
...
response = get_response(request)
return response
return middleware
Run Code Online (Sandbox Code Playgroud)
https://docs.djangoproject.com/en/2.2/topics/http/middleware/
| 归档时间: |
|
| 查看次数: |
1165 次 |
| 最近记录: |