我在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日志?
答案 0 :(得分:2)
说明
为App Engine应用流式传输日志。
该命令被设计为阻塞调用,主要是在调用该命令后之后监视正在生成的应用日志(尽管在启动时它可能还会显示一些在 before < / em>命令发出)。
要主要关注要使用gcloud app logs read
命令的历史日志:
说明
显示来自stdout,stderr和崩溃日志的最新日志条目 可读格式的当前Google App Engine应用。
请注意,日志中stdout / stderr的存在取决于应用程序使用的环境和运行时。例如,在第一代标准环境中(至少在python运行时中),直接打印到stdout / stderr的消息未显示在日志中,必须专门使用python日志记录调用。
我怀疑Java也可能如此,因为我在Java11(和flex environment)的日志记录文档中提到了stdout / stderr,但在Java8中却没有。
答案 1 :(得分:0)
我也无法使用
> gcloud app logs tail
但是我发现您可以使用:
gcloud logging logs list
这将返回如下日志名称列表:
NAME
projects / intan1 / logs / appengine.googleapis.com%2Frequest_log projects / intan1 / logs / cloudaudit.googleapis.com%2Factivity
然后您可以致电:
gcloud beta logging read logName=projects/intan1/logs/appengine.googleapis.com%2Frequest_log
这将返回日志,其中包含许多其他信息,但这也许可以为您提供帮助!