首页 > 解决方案 > 如何将错误记录到 Firebase Cloud Functions Log?

问题描述

我无法将有意义的错误消息记录到我的函数日志中,我想要实现的是出现错误,“错误”日志级别如下所示:

实际错误日志的图像

相反,我得到的是:

测试结果图片

我正在使用以下函数对此进行测试:

exports.testError = functions.https.onRequest(async (request, response) =>
{
    console.log('Hi');

    //According to google this won't be logged as error
    console.error('Error');

    //But these will
    console.error(new Error('error'));
    console.error('Error', new Error('error'));

    return response.status(500).send('Test is finished.');
})

第一个图像是一个随机错误,其目的是显示我想要实现的目标,即:将错误记录为错误。

第二张图片是我的测试结果,它表明即使我按照谷歌的指示(报告错误)它也没有按预期工作。

标签: javascriptnode.jsgoogle-cloud-functionserror-logging

解决方案


使用 Cloud Functions 记录器 SDK,如中所述

https://firebase.google.com/docs/functions/writing-and-viewing-logs

const functions = require("firebase-functions")
functions.logger.debug("debug level in web console and gcp")
functions.logger.log("info level in web console and gcp")
functions.logger.info("info level in web console and gcp")
functions.logger.warn("info level but no icon in web console; warn icon in gcp")
functions.logger.error("error level in web console and gcp")

正如https://firebase.google.com/docs/functions/reporting-errors中所宣传的那样,我无法获得console.error()console.info()工作(节点 10、12 或 14)


推荐阅读