【发布时间】:2019-10-29 22:46:36
【问题描述】:
根据我的搜索,我创建了一个项目并按照该链接部署了几个服务:https://codelabs.developers.google.com/codelabs/cloud-app-engine-go/index.html?index=..%2F..index#0
经过一番努力,我可以部署,但现在我什至不确定应用程序是否真的在某个地方运行,因为我根本没有日志(我至少没有找到任何日志,只有一个告诉 2019-10-29T21:56:21.890Z App Engine UpdateService users-service john.doe@email.com .........),我没有找到任何指标,也无法访问我的 API..
我的 API 当前定义了 2 个端口(gRPC 和 REST),所以我尝试 ping 给定地址,添加端口,但没有成功,因为我无法访问我的服务..
我现在真的被卡住了,我尝试了几个关于 Google Cloud 文档的日志库,但似乎没有什么对我有用,一切都是空的。
- "google.golang.org/appengine/log"
- "cloud.google.com/go/logging"
- "log"
今天早上回到工作岗位,一个小时后我尝试重新部署我的服务并获得了我的 3 个第一条日志
package main
import (
"log"
...
)
func main() {
log.Print("Users Service")
log.Println("Users Service")
log.Printf("Users Service")
log.Fatal("Heyyyyyyy")
//...
我编辑了我的代码,稍后在我的 main 中添加了一个打印并重新部署。现在我不再有第一个日志了.. 似乎我有时可以记录,但随后它停止工作一段时间然后回来。有什么想法吗?
我尝试更新我的打印功能,仍然没有成功:
// appengineLog is actually the official package but I renamed it to use both "log" and "appengine/log"
// import appengineLog "google.golang.org/appengine/log"
func print(v string) {
log.Print(v)
log.Println(v)
log.Printf("%s", v)
ctx, _ := context.WithTimeout(context.Background(), 2*time.Second)
appengineLog.Infof(ctx, "%s", v)
appengineLog.Debugf(ctx, "%s", v)
appengineLog.Errorf(ctx, "%s", v)
appengineLog.Warningf(ctx, "%s", v)
appengineLog.Criticalf(ctx, "%s", v)
}
func main() {
print("test")
// ...
}
奇怪的是,每次部署我都会收到2019-10-29T21:56:21.890Z App Engine UpdateService users-service john.doe@email.com ......... 消息,因此(对我而言)这意味着我的服务已部署,因此它应该开始并打印。打印在我的 main 的第一行所以..
编辑
当我从 Monolith 迁移到微服务时,我选择了 Google Compute Engine,它似乎更适合这种部署 :)
【问题讨论】:
-
对不起,我不太明白你的问题。您是否在 Google Cloud Platform 上有一个 Go 应用程序并且您想调用它的 API,或者您是否有一个 Google Cloud 之外的 API 并且您想从新创建的 Go App 引擎调用它?
-
嘿!我的目标是在 go (done) 中重写我的 API 并将其发布到谷歌云平台。我新创建了我的应用引擎并尝试了 gcloud app deploy 。我现在正在寻找我的 API,但没有成功。所以我寻找任何可以帮助我监控或调试正在发生的事情的东西(例如日志?)
标签: azure google-app-engine go