如何将错误记录到 Firebase Cloud Functions 日志?

Eli*_*jos 1 javascript error-logging node.js google-cloud-functions

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

实际错误日志的图像

相反,我得到的是:

测试结果图片

我正在使用以下函数来测试这一点:

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.');
})
Run Code Online (Sandbox Code Playgroud)

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

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

tim*_*uld 5

使用 Cloud Functions logger 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")
Run Code Online (Sandbox Code Playgroud)

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


Eli*_*jos 2

好吧,我发现了:我使用的是节点 12,我将其更改为节点 10,现在它按预期记录错误。