首页 > 解决方案 > 在运行的 Firebase 函数中获取 functionName 和 executionId

问题描述

我们的产品主要基于 Node.js v10 firebase 函数,到目前为止,我们一直在使用 firebase 函数 logger SDK 进行日志记录。然而,这对我们来说还不够,因为我们需要为每个日志发送一些额外的属性,以便在 GCP Logging Explorer 中更好地过滤。

不幸的是, Cloud Logging SDK 触发的日志没有附加非常有用的functionName标签。executionIdNode.js Firebase SDK 是否以某种方式公开了这些标签,以便我将它们手动附加到元数据?

问候

标签: node.jsfirebasegoogle-cloud-functionsgoogle-cloud-logging

解决方案


我们有完全相同的堆栈在工作,我们只是创建一个位于 firebase 记录器顶部的记录器,并且基本上进行手动记录。

// Use the firebase functions logger to report all logs from out logger to
// Can do logger.info, .error, .log, .warn
// Logger is a custom function function that sits on top of console or firebase logger
// This means initialise a logger singleton using the firebase functions logger as a base
logger(functions.logger)

例如,典型的功能日志将是:

// Use the logger global singleton initialised above
logger.log(`[endpoint-name.methodName] - Execution failed with error code ${error.code} and message ${error.message}`)

然后我们使用函数日志搜索字段来查找特定错误的实例。我们还将所有内部错误报告给哨兵并使用它进行调试。

希望这能给你一些想法?


推荐阅读