为什么 `functions.https.HttpsError` 没有显示在 Firebase 函数日志中?

Why `functions.https.HttpsError` is not shown in the Firebase function logs?

我从可调用的 Firebase 函数中抛出错误:

throw new functions.https.HttpsError(
        'invalid-argument',
        `Invalid token ${token} for file ${fileName}.`
      );

我只看到以下日志:

12:29:22.500 PM SQR-cancelAllotment Function execution took 1779 ms, finished with status code: 400
12:29:20.722 PM SQR-cancelAllotment Function execution started

因此,代码 400 被指示而没有任何错误消息。为什么?

我不想在单独的 console.error 中重复错误消息。

要在 Cloud Functions 中抛出错误,您可以使用 Stackdriver Error Reporting client libraries

在这里您可以找到用于设置错误报告的 documentation(那里也有一些示例)

抛出 HttpsError 是向客户端发出函数未按预期工作的信号。这并不表示函数因崩溃而终止(将被记录)。当你抛出 HttpsError 时,如果你想在日志中看到一条消息,你还应该调用 console.error()(或你想要的任何日志级别)以便显示它。