【问题标题】:Where I can see the logs in Google App Engine?在哪里可以看到 Google App Engine 中的日志?
【发布时间】:2018-08-11 22:05:57
【问题描述】:

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

我有灵活的 App Engine,MySQL 2nd Gen 5.7 的 SQL 实例

我在 GAE 上托管了我的 laravel 应用,按照教程完成后:Run Laravel on Google App Engine Flexible Environment

我无法正确获取首页,出现 500 错误,我的应用 URL:Its About Veg

我想调查错误,就像我可以在本地机器上做的那样,但我无法获得正确的日志。

我发现它从https://console.cloud.google.com/logs/viewer?project=project-id URL 给出了 500 响应,但我无法获得错误的正确堆栈跟踪,我在这里得到的唯一东西是某种 JSON 数据。

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

你能帮我解决这个问题吗?

【问题讨论】:

  • 楼下地毯下 :D

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


【解决方案1】:

有多种方法可以从 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 中的日志以及所有其他 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 下载日志。

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

【讨论】:

  • 嗨@neilH,我试过gcloud app log tail,基本上我可以从控制台查看相同的内容。问题是,我没有得到像堆栈跟踪这样的详细日志,为了得到它,我需要做什么?
  • 您是否尝试过帖子中的第二条建议?
  • 是的,这就是我从一开始就在做的事情,我只能看到它给出了500 错误,但是它得到了,从它得到的地方,它什么都没有,这也没有不属于error 级别?我是否需要进行任何配置才能看到正确的日志?
  • 好的,所以您安装了适用于 Python 的 App Engine SDK 并设法使用命令 appcfg.py request_logs? 下载了日志?
  • 不,我没试过。我有PHP 应用程序,为什么需要适用于 python 的 SDK?我的意思是 PHP 的 SDK 将具有与 Python SDK 相同的功能。
猜你喜欢
  • 2015-02-13
  • 1970-01-01
  • 1970-01-01
  • 2020-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多