【问题标题】:Can't find logs using appengine/log使用 appengine/log 找不到日志
【发布时间】:2019-11-04 06:45:46
【问题描述】:

我有这个代码:

// main.go
package magnum

import (
    "net/http"

    "google.golang.org/appengine"
    "google.golang.org/appengine/log"
)

func init() {
    http.HandleFunc("/tasks/backup", handler)
}

func handler(w http.ResponseWriter, r *http.Request) {
    ctx := appengine.NewContext(r)
    log.Debugf(ctx, "Testing cron tasks using Go")
}

// cron.yaml
cron:
- description: extraction
  url: /tasks/backup
  schedule: every 5 minutes

当我检查 GAE 仪表板上的日志时,我没有看到“使用 Go 测试 cron 任务”文本。事实:

  • 在本地,当我使用开发环境测试 cron 任务时,我可以看到该文本
  • 部署后,我可以在执行任务时在 GAE 仪表板上看到成功的请求
  • 标准环境

我可能会错过什么?

【问题讨论】:

  • 您是在本地测试还是部署到 App Engine?
  • 两者。在本地我可以看到日志。部署后我不能
  • 标准环境还是柔性环境?
  • @BrettJ。标准。刚刚将这些细节添加到问题中

标签: google-app-engine go cron


【解决方案1】:

我相信本地开发服务器默认不会显示记录的消息,请尝试使用此 additional argument 启动本地开发服务器:

dev_appserver.py --log_level=info

如果您想将输出记录到除控制台之外的文件,还可以传递--logs_path=... 参数。根据您需要执行的日志记录量,这也可能很有用。

对于您部署的应用程序,您可以在Logging section of the Cloud Platform Console 中找到您记录的应用程序消息。如果您没有看到它们,请确保下拉过滤器已选择 GAE 应用程序

【讨论】:

  • 对于本地服务器,我可以通过 shell 输出看到它们。对于已部署的版本,我检查了日志查看器,选择了 GAE 应用程序和“所有日志”过滤器,但没有帮助
【解决方案2】:

距离第一次发帖已经很久了,但最近我在使用 go 1.11 GAE 标准时遇到了同样的问题,不得不切换到使用 cloud.google.com/go/logging 包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 2019-10-14
    • 1970-01-01
    相关资源
    最近更新 更多