首页 > 解决方案 > AppEngine 获取/查看日志

问题描述

我在 AppEngine (Java) 中运行我的应用程序。我想使用gcloud app logs命令查看我的应用程序日志:

gcloud app logs tail

但是,输出只是以下几个数据:

....
2019-10-04 12:46:43 default[api-v1-0-0]  "GET / HTTP/1.1" 200
2019-10-04 12:46:43 default[api-v1-0-0]  "GET / HTTP/1.1" 200
....

实际上,我希望gcloud app logs会显示我的应用程序打印到 stdout 和 stderr 的日志。但是,事实并非如此。

我的问题是:如何使用gcloud命令获取/查看应用程序 stdout/stderr 日志?

标签: google-app-enginelogginggcloud

解决方案


来自gcloud app logs tail

描述

App Engine 应用的流式传输日志。

该命令被设计为一个阻塞调用,主要监视调用命令生成的应用程序日志(尽管在启动时它也可能显示一些历史日志,在命令发出之前生成)。

要主要关注您要使用gcloud app logs read命令的历史日志:

描述

以人类可读的格式显示当前 Google App Engine 应用程序的 stdout、stderr 和崩溃日志中的最新日志条目。

请注意,日志中是否存在 stdout/stderr 取决于您的应用使用的环境和运行时。例如,在第一代标准环境中(至少对于 python 运行时),直接打印到 stdout/stderr 的消息不会显示在日志中,必须专门使用 python 日志记录调用。

我怀疑 Java 可能也是如此,因为我在Java11(和flex environment)的日志记录文档中看到了 stdout/stderr,但在Java8中却没有。


推荐阅读