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

问题描述 投票:3回答:1

我是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响应,但我无法获得错误的正确堆栈跟踪,我在这里得到的唯一的东西是某种JSON数据。

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

在这种情况下,你能帮助我吗?

php google-app-engine google-cloud-platform google-cloud-stackdriver laravel-5.6
1个回答
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关于设置日志接收器。

© www.soinside.com 2019 - 2024. All rights reserved.