使用gcloud logging read
命令是否无法在终端命令行上查看特定日志的结尾?我正在寻找类似于标准Linux上的tail -f
调用的内容。我找不到允许它的任何文档化参数。 Web控制台提供了一个播放按钮功能,可以做到这一点,但是 当我让它运行10分钟以上时,整个选项卡将变得无响应,感觉它将使整个浏览器崩溃。
我有一个不错的日志过滤器,我想在终端上而不是在Chrome浏览器中“观看”。但是watch
命令不会读取gcloud命令的输出,而只是在我尝试watch -n 30 gcloud logging read ...
调用时坐在那里。
欢迎您提出建议。
答案 0 :(得分:1)
“ watch -n 30 gcloud读取日志”确实可以在我的云shell中使用。 但是,“ tail”不适用于“ gcloud日志读取”。
您提到的播放按钮可以很好地更新/刷新(我已经测试了半个多小时)。尝试使用隐身窗口。
答案 1 :(得分:1)
由于gcloud日志读取支持时间戳过滤器,因此可以在循环中调用该命令,以在每次调用中请求更多的最新数据。像这样:
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
答案 2 :(得分:1)
您现在可以使用gcloud alpha logging tail
命令来跟踪尾日志。这是一种低延迟的流API,可直接从Logging跟踪日志。您可以在以下页面中了解更多信息:
答案 3 :(得分:1)