BugSnag、Django 和 before_notify 回调
BugSnag, Django and the before_notify callback
BugSnag 的文档针对自定义字段建议这样做:
def callback(notification):
# if you return False, the notification will not be sent to
# Bugsnag. (see ignore_classes for simple cases)
if isinstance(notification.exception, KeyboardInterrupt):
return False
# You can set properties of the notification and
# add your own custom meta-data.
notification.user = {"id": current_user.id,
"name": current_user.name,
"email": current_user.email}
notification.add_tab("account", {"paying": current_user.acccount.is_paying()})
# Call `callback` before every notification
bugsnag.before_notify(callback)
我的应用程序是基于 JWT 令牌的内部-api 应用程序服务器。意思是,我没有 current_user
或任何用户 "logged in"。有什么办法可以到达当前请求的用户?在视图中,它在 JWT 中间件解析出令牌后可作为 request.user
使用,但我如何将其应用到此回调中?我无权访问请求对象? notification.request
不存在。
因此,如果我的 POST 是键和值的平面列表,这就是我获得 email
值的方式。
d = dict(notification.request_config.django_request.POST)
print(d['email'][0])
BugSnag 的文档针对自定义字段建议这样做:
def callback(notification):
# if you return False, the notification will not be sent to
# Bugsnag. (see ignore_classes for simple cases)
if isinstance(notification.exception, KeyboardInterrupt):
return False
# You can set properties of the notification and
# add your own custom meta-data.
notification.user = {"id": current_user.id,
"name": current_user.name,
"email": current_user.email}
notification.add_tab("account", {"paying": current_user.acccount.is_paying()})
# Call `callback` before every notification
bugsnag.before_notify(callback)
我的应用程序是基于 JWT 令牌的内部-api 应用程序服务器。意思是,我没有 current_user
或任何用户 "logged in"。有什么办法可以到达当前请求的用户?在视图中,它在 JWT 中间件解析出令牌后可作为 request.user
使用,但我如何将其应用到此回调中?我无权访问请求对象? notification.request
不存在。
因此,如果我的 POST 是键和值的平面列表,这就是我获得 email
值的方式。
d = dict(notification.request_config.django_request.POST)
print(d['email'][0])