如何将日志从 Vercel 无服务器函数 (Next.js) 发送到 Google 云日志

问题描述 投票:0回答:1

来自Google云日志节点sdk文档

强烈建议 Cloud Functions、Cloud Run 和 App Engine 等无服务器应用程序使用 LogSync 类,因为异步日志可能会因 CPU 不足而被丢弃。

这是我使用

LogSync
类实现的谷歌云日志记录

import { Logging } from "@google-cloud/logging";
const creds = {
  private_key:
    '---',
  client_email: "---",
};

const logging = new Logging({
  projectId,
  credentials: creds,
});

const log = logging.logSync(logName);

  const metadata = {
    resource: { type: "global" },
    severity,
    textPayload,
    jsonPayload,
  };

  const CombinedEntry = log.entry(metadata);


  log.alert(CombinedEntry);

我在 next.js 框架中使用它并部署在 Vercel 上(作为 无服务器函数

这些日志在控制台 (stdout) 和 Vercel 函数仪表板中可见,但在 Google 云日志记录中不可见。

我是否需要配置

LogSync
以提及它还应该将日志发送到谷歌云日志记录?文档中没有提到。 我们还尝试了
logging.log
而不是
logging.LogSync
,但日志在云上仍然不可见,而仅在标准输出上可见。

node.js google-cloud-platform next.js stackdriver vercel
1个回答
0
投票

这是我将 Vercel 日志获取到 Cloud Logging 的解决方案 https://github.com/kym6464/vercel-google-cloud-logging。它需要一些手动配置,但它可以完成工作。

© www.soinside.com 2019 - 2024. All rights reserved.