我们必须在 Firebase Cloud Functions 中手动记录错误,还是它们会自动记录?

Must we manually log errors in Firebase Cloud Functions or will they log automatically?

我目前部署了这个云功能。它 return 是 Firebase 要求终止函数的承诺。

exports.userDidSignOut = functions.https.onCall((data) => {
    const userId = data.userId;
    const settingsUpdate = {
        "fcmToken": null,
    };
    const promise = admin.firestore().collection("user-settings").doc(userId).update(settingsUpdate);

    return promise
});

但是,这会自动在控制台上记录错误吗?或者我必须手动记录它们(如下所示)?

exports.userDidSignOut = functions.https.onCall((data) => {
    const userId = data.userId;
    const settingsUpdate = {
        "fcmToken": null,
    };
    const promise = admin.firestore().collection("user-settings").doc(userId).update(settingsUpdate);

    promise.then(() => {
        return null;
    }, (reason) => {
        console.log(reason);
        return null;
    });
});

并且是否有必要 return null 在失败功能中终止云功能或打印到控制台是否足够?

handling errors in Cloud Functions 上有完整的文档页面。从那里:

Uncaught exceptions produced by your function will appear in Error Reporting.

因此您不必自己执行此操作,尽管您可以当然总是这样做以添加有关错误的额外上下文。