我在哪里可以看到Google App Engine中的日志?

时间:2018-03-03 23:29:12

标签: php google-app-engine google-cloud-platform google-cloud-stackdriver laravel-5.6

我是GAE的新手,因此这个问题对于GAE的专家来说可能非常容易。

我有灵活的App Engine,MySQL第二代5.7的SQL实例

我已经在GAE上托管了我的laravel应用程序,并在完成教程之后:Run Laravel on Google App Engine Flexible Environment

我无法正常收到第一页,我收到500错误,我的应用网址:Its About Veg

我想调查错误,因为我可以在我的本地方框上进行调查,但我无法获得正确的日志。

我发现它从https://console.cloud.google.com/logs/viewer?project=project-id URL提供了500个响应,但是我无法获得错误的正确堆栈跟踪,我在这里得到的唯一一个是{{1}数据。

此外,我想从服务器下载日志文件,以便我可以手动检查日志并解决问题,但唉!我也找不到。

你可以在这方面帮助我。

1 个答案:

答案 0 :(得分:4)

有许多方法可以从App Engine中检索日志。

您可以尝试使用gcloud app logs command来检索应用程序的日志。例如,要将日志输出到您的终端,您可以运行:

$ gcloud app logs read

或者流式传输您可以运行的日志:

$ gcloud app logs tail

还可以将应用程序中的日志数据下载到本地计算机上的文件中。如果您安装App Engine SDK for PHP,则可以运行appcfg.py request_logs命令,这将允许您下载日志。有关如何执行此操作的说明,我建议您查看here

您还可以使用GCP日志页面执行一些细粒度搜索(有一种导出下载这些日志的方法,我将在下面详细介绍)。

登录Google Cloud Platform for App Engine,可以在Stackdriver Logging中查看所有其他Google Cloud Platform资源。

要导航到控制台中的Stackdriver Logging,请导航至:

  

记录>日志

在那里,您会找到几个下拉菜单。在第一个中,您将能够选择要查看其日志的Google Cloud Platform资源。

在此下拉菜单中,选择GAE Application。这将确保第二个下拉菜单填充可从GAE应用程序查看的各种日志的名称。例如,您可以在此菜单中指定nginx.error或syslogs来过滤特定日志。

您的应用程序日志文件的日志将流式传输到Stackdriver日志记录中,因此它们实际上包含与应用程序日志相同的信息,尽管采用JSON格式以确保它们可读。

同样,您可以过滤CloudSQL日志。为此,请在第一个下拉菜单中选择“Cloud SQL数据库”,然后指定要检查的数据库。

日志记录视图中的另一个下拉菜单允许您选择各种日志级别(例如“错误”,“警告”,“严重”等)和时间设置,以便您获得更精细的特定时间/日期粒度搜索。

您还可以选择在Stackdriver Logging搜索栏中键入搜索字符串,并使用它们来过滤显示的日志。

如果您要下载这些日志,可以选择创建Google云端存储的日志接收器。这实际上允许您编写过滤器(对于您感兴趣的日志)并将日志导出到云存储。如果需要,您可以选择从云存储下载日志。

有关设置日志接收器的一些有用信息herehere

相关问题