从 App Engine 检索日志有多种方法。
您可以尝试使用该gcloud app logs
命令来检索应用程序的日志。例如,要将日志输出到您的终端,您可以运行:
$ gcloud app logs read
或者流式传输您可以运行的日志:
$ gcloud app logs tail
也可以将日志数据从您的应用程序下载到本地计算机上的文件中。如果您安装App Engine SDK for PHP,您可以运行该appcfg.py request_logs
命令,这将允许您下载日志。有关如何执行此操作的说明,我建议您查看此处。
您还可以使用 GCP 日志页面执行一些细粒度的搜索(有一种方法可以导出下载这些日志,我将在下面详细介绍)。
Google Cloud Platform for App Engine 中的日志以及所有其他 Google Cloud Platform 资源都可以在 Stackdriver Logging 中查看。
要在控制台中导航到 Stackdriver Logging,请导航到:
记录 > 日志
在那里,您会发现几个下拉菜单。在第一个中,您将能够选择要查看其日志的 Google Cloud Platform 资源。
在此下拉菜单中,选择GAE Application
。这将确保在第二个下拉菜单中填充可从您的 GAE 应用程序查看的各种日志的名称。例如,您可以在此菜单中指定 nginx.error 或 syslogs 来过滤特定日志。
您的应用日志文件中的日志会流式传输到 Stackdriver 日志记录中,因此它们本质上包含与应用日志相同的信息,尽管采用 JSON 格式以确保它们可读。
同样,您可以过滤 CloudSQL 日志。为此,请在第一个下拉菜单中选择 Cloud SQL 数据库,然后指定要检查的数据库。
日志视图中的其他下拉菜单允许您选择各种日志级别(例如“错误”、“警告”、“严重”等)和时间设置,允许您指定时间/日期以进行更精细的搜索。
您还可以选择在 Stackdriver Logging 搜索栏中输入搜索字符串,并使用它们来过滤显示的日志。
如果您想下载这些日志,一个选项是创建一个到 Google Cloud Storage 的日志接收器。这实质上允许您编写过滤器(针对您感兴趣的日志)并将日志导出到 Cloud Storage。如果需要,您可以选择从 Cloud Storage 下载日志。
这里和这里有一些关于设置日志接收器的有用信息。