简体   繁体   中英

How to get logs to show up as errors in Cloud Functions for Firebase

When an error occurs in my cloud function it is not showing up in the firebase console or logs as an error.

I would like the error to show up on the health tab of functions page in the Firebase console so I am aware of the error. Currently it only shows up in the function logs as a normal log entry (see image). 在此处输入图像描述

How can I adjust my code so that an error occurs in the cloud function so I can see it. Note that this function is called by a webhook from Stripe.

export const stripeWHEInvoiceCreated = functions
  .region('us-east1')
  .https.onRequest(async (req, res) => {
  try {
    const sig = req.headers['stripe-signature'];
    const event = stripe.webhooks.constructEvent(
      (req as any).rawBody,
      sig,
      webhookSecretInvoiceCreated
    );
    await internalInvoiceCreated(event);

    res.sendStatus(200);
  } catch (err) {
    res.status(400).send(err);
  }
});

export const internalInvoiceCreated = async(event: any) => {
  try {
     // Do stuff
 } catch(err) {
    console.log('An error occurred');
    console.log(err);
    throw err;
  }

  return;
}

The easiest thing to do is use console.error() instead of console.log() .

If you want to do logging the best possible way, you should use the logging functions of the functions SDK, as shown in the documentation .

const functions = require("firebase-functions");
functions.logger.error(...);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM