【问题标题】:Why do errors from Functions Logger not show up in Error Reporting?为什么来自 Functions Logger 的错误不会显示在错误报告中?
【发布时间】:2021-07-22 05:17:57
【问题描述】:

在我的 Firebase 函数中,我主要使用 console.error(new Error("some error"))。这些内容会显示在日志界面和(Stackdriver)错误报告概览中。

然后我发现了 Firebase Functions Logger here。它之所以吸引我,是因为 API 使得记录一些带有数据的对象和消息变得非常容易,而且它很好地隐藏在日志界面中。总的来说,这似乎是您应该使用的,而不是普通的旧 console,因为它是官方 Firebase API,所以我开始在各个地方使用它。

现在我发现我使用 logger.error() 记录的错误没有显示在 GCloud 错误报告中 ????‍♂️ 我一直在丢失大量错误,以为一切运行顺利。

对我来说,为什么这些错误没有显示在错误报告中是个谜。如果这是预期的行为,我认为记录器文档中应该有一个很大的警告。

还有其他用于错误报告的 API,但它们看起来非常冗长,并且专门针对 Stackdriver。我只是想要一些简单易用的东西,比如console.error,并且还在日志界面中看到这些错误。

我是否误解了记录器 API 的用途?

我最近切换到 Node12 来执行我的功能。可能那时 Stackdriver 断开连接开始了,但我无法想象这是一个错误,因为 Node12 运行时已经很久没有预览了。

【问题讨论】:

  • 你能分享你的代码吗?
  • import { logger } from "firebase-functions"; 然后logger.error("Some error", { some, data })

标签: firebase logging google-cloud-functions google-cloud-stackdriver


【解决方案1】:

关于 nodejs8 和 nodejs10 之间日志记录的工作方式有 a significant change。我看到你最近升级到nodejs14,你是不是从nodejs8来的?

【讨论】:

  • 我从nodejs10切换到nodejs12。 AFAIK 的云功能 14 仍处于预览阶段,这不是我要冒险的事情,因为在我确实从 8 切换到 10 之前,我已经被预览版本所困扰。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-25
  • 2021-03-16
  • 1970-01-01
  • 2012-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多