使用 gloud logging 读取尾部日志?

Tail a log using gloud logging read?

是否无法使用 gcloud logging read 命令在终端命令行上查看特定日志的尾部?我正在寻找类似于标准 linux 上众所周知的 tail -f 调用的东西。我找不到任何允许它的记录参数。 Web 控制台提供了一个播放按钮功能,它正是这样做的, 但是 当我离开它 运行 超过 10 分钟时,整个选项卡变得没有响应,感觉它会崩溃整个浏览器。

我有一个不错的日志过滤器,我想 "watch" 在我的终端上,而不是在我的 Chrome 浏览器中。但是 watch 命令不会从 gcloud 命令读取输出,它只是在我尝试 watch -n 30 gcloud logging read ... 调用时就在那里。

欢迎提出想法和建议。

"watch -n 30 gcloud logging read" 在我的云 shell 中确实有效。 但是,"tail" 不适用于 'gcloud logging read'。

你说的那个播放按钮updates/refreshes就可以了(我测试了半个多小时)。尝试隐身 window.

由于 gcloud logging read 支持时间戳过滤器,因此可以在循环中调用该命令,在每次调用中请求更新的数据块。像这样:

CURRENT_DATE_UTC=`date --utc -Iseconds`
while true; do
  sleep 60
  echo "logs since ${CURRENT_DATE_UTC}"
  gcloud logging read "<your filter here> timestamp>=\"${CURRENT_DATE_UTC}\" ... > logfile.txt
  cat logfile.txt | sed '/^$/d'
  if [[ $(cat logfile.txt | head -n 5 | wc -l) -ne 0 ]]; then
    CURRENT_DATE_UTC=`date --utc -Iseconds`;
  fi
done

您现在可以使用 gcloud alpha logging tail 命令实时跟踪日志。这是一种低延迟流式传输 API,可直接从 Logging 跟踪您的日志。您可以在以下页面中了解更多信息:

Logging 现已为产品添加了实时拖尾

https://cloud.google.com/blog/products/management-tools/cloud-logging-gets-real-time-log-searching