You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cloud Run Job中@google-cloud/logging日志未在GCP日志资源管理器显示的问题

问题:Cloud Run Job中@google-cloud/logging日志不显示的排查

背景信息

我运行一个使用@google-cloud/logging库(版本11.0.0)的NodeJS应用,将其打包为Docker镜像存储在Artifact Registry中,随后通过Terraform创建cloud_run_v2_job资源引用该镜像。

应用中初始化日志客户端的代码:

const logging = new Logging();
const log = logging.log('myLog');

写入日志的代码:

const message = "My message"
const entry = log.entry({ severity: 'INFO' }, { message });
log.write(entry);

遇到的问题:这些日志并未在日志资源管理器中显示,但console.log语句的日志能正常显示。将日志代码包裹在try-catch块中未捕获到任何错误,说明代码执行无异常。

尝试的权限配置(Terraform):

data "google_project" "current" {}

resource "google_project_iam_member" "cloudrun_logging_permission" {
  project = data.google_project.current.project_id
  role    = "roles/logging.logWriter"
  member  = "serviceAccount:${data.google_project.current.number}-compute@developer.gserviceaccount.com"
}

但问题仍未解决,需要排查遗漏的配置。


问题分析与解决方案

1. 服务账号权限配置错误

你当前配置的是Compute Engine默认服务账号,但Cloud Run Job默认使用的是Cloud Run服务代理账号,而非Compute Engine的账号。

  • 若Terraform的cloud_run_v2_job未指定service_account字段,默认服务账号格式为:service-${PROJECT_NUMBER}@gcp-sa-cloudrun.iam.gserviceaccount.com
  • 若你自定义了服务账号并在Job中指定,则需给该自定义账号配置权限

修正后的Terraform权限配置:

data "google_project" "current" {}

resource "google_project_iam_member" "cloudrun_job_log_writer" {
  project = data.google_project.current.project_id
  role    = "roles/logging.logWriter"
  member  = "serviceAccount:service-${data.google_project.current.number}@gcp-sa-cloudrun.iam.gserviceaccount.com"
}

2. 异步日志写入未等待完成

log.write()是异步操作,返回Promise。你原代码未使用await等待操作完成,若进程提前退出,日志可能还未发送就被终止,且异步错误无法被同步的try-catch捕获。

修正后的日志代码:

try {
  const message = "My message"
  const entry = log.entry({ severity: 'INFO' }, { message });
  await log.write(entry); // 添加await等待异步操作完成
} catch (err) {
  console.error('日志写入失败:', err);
}

3. 确认日志查看路径

@google-cloud/logging写入的是自定义日志,需在日志资源管理器中使用正确的过滤器查找:

  • 过滤器示例:logName="projects/[你的项目ID]/logs/myLog"
  • 注意区分:console.log的日志会出现在Cloud Run Job的系统日志流中,而自定义日志需要单独通过日志名称过滤。

内容的提问来源于stack exchange,提问作者Diego Navarro Vergara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 03:50:22