【问题标题】:Where can I see the nodejs logs after I deployed on Google App Engine?在 Google App Engine 上部署后,我在哪里可以看到 nodejs 日志?
【发布时间】:2015-02-13 00:44:55
【问题描述】:

我按照本教程 https://github.com/GoogleCloudPlatform/appengine-nodejs-quickstart 在 Google App 引擎上部署了一个 nodejs 应用程序,它成功了,现在我想检查 nodejs 服务器的日志,就像从终端控制台进行开发一样。 Vms 由 google 管理,但即使我 ssh 到它们,我也不知道在哪里查找日志。

【问题讨论】:

标签: node.js google-app-engine google-compute-engine


【解决方案1】:

您可以通过在 VM 实例中执行 docker logs <container id> 来读取您的应用运行的 docker 容器的标准输出。你可以从docker ps获取容器id。

虽然不需要通过 SSH 连接到实例。您可以简单地从 Monitoring > Logs 下的开发者控制台获取日志。

【讨论】:

    【解决方案2】:

    默认的日志记录真的很糟糕。我的console.log 消息都没有出现!有几种方法可以解决此问题。

    1) 将日志写入日志文件。

    例如,/var/log/app_engine/custom_logs/applogs.log

    https://cloud.google.com/appengine/articles/logging

    “使用 App Engine 的 Cloud Logging 和 Managed VMs 应用程序 托管 VM 应将自定义日志文件写入 VM 的日志目录 /var/log/app_engine/custom_logs。这些文件是自动 收集并在日志查看器中提供。自定义日志文件 必须具有后缀 .log 或 .log.json。如果后缀是.log.json, 日志必须为 JSON 格式,每行一个 JSON 对象。如果 后缀为 .log,日志条目被视为纯文本。”

    2) 将winstonwinston-gae 一起使用。

    创建将日志发送到 appengine 的传输。

    3) 使用gcloud-logging 模块

    对我来说太冗长了,但这是另一种选择。

    【讨论】:

      【解决方案3】:

      正如@tamberg 在评论中提到的,我发现查看运行 Node.js 的 Google App Engine 实例生成的日志的最简单选择是简单地使用日志查看器:

      https://console.cloud.google.com/logs/viewer?resource=gae_app

      https://cloud.google.com/appengine/docs/standard/nodejs/building-app/viewing-service-logs的详细说明如下:

      1. 在 GCP 控制台中打开日志查看器:https://console.cloud.google.com/logs/viewer?resource=gae_app
      2. 在页面顶部的第一个过滤器下拉列表中,确保选择了 GAE 应用程序,然后选择默认服务。
      3. 使用第二个过滤器下拉菜单仅选择标准输出,然后单击确定。这会将查看器限制为发送到标准输出的日志。
      4. 使用下拉列表上方的文本字段搜索您在提交表单时使用的名称。您应该会看到与您的提交相对应的日志。

      【讨论】:

        猜你喜欢
        • 2018-08-11
        • 1970-01-01
        • 2020-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-17
        • 2020-04-19
        • 1970-01-01
        相关资源
        最近更新 更多