【问题标题】:Send payload data with POST/PUT/PATCH requests to Sentry.io将带有 POST/PUT/PATCH 请求的有效负载数据发送到 Sentry.io
【发布时间】:2019-11-14 22:03:28
【问题描述】:

我正在尝试将有效负载数据添加到发送到 Sentry.io 的面包屑中。

看起来就是这样。

我发现了如何添加响应。

const sentryConfig: BrowserOptions = {
  beforeBreadcrumb: (breadcrumb, hint) => {
    if (breadcrumb.category === 'xhr') {
      // hint.xhr is a whole XHR object that you can use to modify breadcrumb
      breadcrumb.data = (hint.xhr as XMLHttpRequest).response;
    }

    return breadcrumb;
  }
};

但我似乎找不到添加有效负载的方法。 XMLHttpRequest 没有此信息。

【问题讨论】:

  • 关闭原因是非法的。如果您不理解问题,请先要求澄清。

标签: angular sentry


【解决方案1】:

我认为没有办法从 xhr 请求中获取有效负载。在创建 xhr 请求时,无论您拥有有效负载,我都会使用 console.log()。它不会是同一个面包屑的一部分,但您会在 Sentry 中看到它。

【讨论】:

  • 手动发送此信息似乎是唯一的方法,至少目前如此。想知道为什么不要求更多,因为在试图找出问题所在时这似乎相当重要
  • @Snæbjørn 向谁请求?如您所见,无法从 XHR 请求对象中提取它。
  • 作为 Sentry beforeBreadcrumb 回调中的功能请求
  • 没有办法实现这个功能。
【解决方案2】:

可以通过这种方式从您的 xhr 中获取正文(有效负载数据):

beforeBreadcrumb: (breadcrumb, hint) => {
 if (breadcrumb.category === 'xhr') {
   const data = {
     requestBody: hint.xhr.__sentry_xhr__.body,
     response: hint.xhr.response,
     responseUrl: hint.xhr.responseURL
   }
   return { ...breadcrumb, data }
 }
 return breadcrumb
}

这是添加它的PR

【讨论】:

    猜你喜欢
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多