为什么 `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()
(或你想要的任何日志级别)以便显示它。
我从可调用的 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()
(或你想要的任何日志级别)以便显示它。