我们的产品主要基于Node.js v10 firebase函数,到目前为止,我们一直在使用firebase函数记录器SDK进行日志记录。然而,这对我们来说已经不够了,因为我们需要在每个日志中发送一些额外的属性,以便在GCP日志管理器中进行更好的过滤。
不幸的是,非常有用的functionName
和executionId
标签没有附加到由云日志SDK触发的日志中。Node.js Firebase SDK是否以某种方式暴露了这些标签,以便我手动将它们附加到元数据中?
问候
我们有完全相同的堆栈在工作,我们只是创建了一个位于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}`)
然后,我们使用函数日志搜索字段来查找特定错误的实例。我们还向sentry报告所有内部错误,并使用该错误进行调试。
希望这能给你一些想法?