我是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}数据。
此外,我想从服务器下载日志文件,以便我可以手动检查日志并解决问题,但唉!我也找不到。
你可以在这方面帮助我。
答案 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云端存储的日志接收器。这实际上允许您编写过滤器(对于您感兴趣的日志)并将日志导出到云存储。如果需要,您可以选择从云存储下载日志。