首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >云函数的结构化日志记录

云函数的结构化日志记录
EN

Server Fault用户
提问于 2018-10-30 15:36:30
回答 1查看 638关注 0票数 2

所以我已经用头撞了一段时间了,我想在这里问一下。

是否可以在云函数中使用结构化日志记录?

在CF中日志和度量代理是不可用的,我希望在我们的StackDriver日志中有一些更丰富的数据(主要是为了利用一些基于日志的度量)。

有没有人知道在没有使用日志代理的额外机器的情况下,什么是可能的?

EN

回答 1

Server Fault用户

发布于 2021-02-12 13:36:51

我发布了这个社区wiki的答案,以使@Andrew提供的建议更加可见。这里回答了这个问题。请在下面找到解决方案摘要:

代码语言:javascript
复制
// global
const { Logging } = require("@google-cloud/logging");
const logging = new Logging();
const Log = logging.log("cloudfunctions.googleapis.com%2Fcloud-functions");
const LogMetadata = {
  severity: "INFO",
  type: "cloud_function",
  labels: {
  function_name: process.env.FUNCTION_TARGET,
  project: process.env.GCP_PROJECT,
  region: JSON.parse(process.env.FIREBASE_CONFIG).locationId
}
};
 
// per request
const data = { FOO: "BAR" };
const traceId = req.get("x-cloud-trace-context").split("/")[0];
const metadata = {
  ...LogMetadata,
  severity: 'INFO',
  trace: `projects/${process.env.GCLOUD_PROJECT}/traces/${traceId}`,
  labels: {
    execution_id: req.get("function-execution-id")
  }
};
Log.write(Log.entry(metadata, data));

severity的值可以找到这里

代码语言:javascript
复制
DEFAULT (0) The log entry has no assigned severity level.
DEBUG   (100) Debug or trace information.
INFO    (200) Routine information, such as ongoing status or performance.
NOTICE  (300) Normal but significant events, such as start up, shut down, or a configuration change.
WARNING (400) Warning events might cause problems.
ERROR   (500) Error events are likely to cause problems.
CRITICAL    (600) Critical events cause more severe problems or outages.
ALERT   (700) A person must take an action immediately.
EMERGENCY   (800) One or more systems are unusable.
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/937896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档