Cuando ocurre un error en mi función de nube, no aparece en la consola de firebase o se registra como un error.
Me gustaría que el error apareciera en la pestaña de estado de la página de funciones en la consola de Firebase, así que soy consciente del error. Actualmente, solo aparece en los registros de funciones como una entrada de registro normal (ver imagen).
¿Cómo puedo ajustar mi código para que ocurra un error en la función de la nube para poder verlo? Tenga en cuenta que esta función es llamada por un webhook de 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; }
Lo más fácil es usar console.error()
en lugar de console.log()
.
Si desea realizar el registro de la mejor manera posible, debe utilizar las funciones de registro del SDK de funciones, como se muestra en la documentación .
const functions = require("firebase-functions"); functions.logger.error(...);