如何将Apollo Server错误发送给Sentry?

时间:2019-07-03 19:05:50

标签: node.js graphql-js apollo-server

我正在尝试将错误记录到哨兵中,但我只能使用formatError选项,该选项不包含本机错误,以便哨兵可以显示stacktrace和其他内容。

1 个答案:

答案 0 :(得分:0)

传递给formatError的错误是GraphQLError,它包装实际的执行错误。该错误具有许多有用的属性(请参见源here),包括一个originalError属性,该属性可以很好地揭示原始错误。但是请注意,只会填充执行错误,即在解析器中引发的错误。其他错误(尤其是验证错误)将没有此字段,但仍会传递给formatError

function formatError(error) {
  console.log(error.originalError)
  return error
}

除了使用formatError之外,您可能还会发现this package很有用,它与graphql-middleware一起使用会为您带来很多负担。