gpt4 book ai didi

amazon-web-services - 在 AWS 上使用 Elastic Beanstalk 的 Go Web 应用程序未在日志中显示输出

转载 作者:IT老高 更新时间:2023-10-28 13:06:38 25 4
gpt4 key购买 nike

这是一个有深度的问题,所以我会尽力解释它。

我在 Go 中构建了一个小型 API 服务,我尝试使用相对较新的 AWS Elastic Beanstalk Docker support 将其部署到 AWS .

这是我所做的(代码都是开源的,所以如果你愿意,可以跟随):

$ git clone https://github.com/rdegges/ipify-api.git
$ cd ipify-api
$ git fetch origin aws:aws
$ git checkout aws
$ eb init
$ eb create
$ eb deploy

这将使用弹性 beanstalk 创建一个新应用程序(使用 docker)并部署它。

如果我然后运行 ​​eb open打开我的网络应用程序,我会看到我的公共(public) IP 地址显示(这是正确的行为),所以我知道我的应用程序正在运行/正常运行。

现在,在我的源代码中,我有几行调试输出:

fmt.Println("WOOOOOOOOOOOO")

上面的语句只是将“WOO…”打印到控制台。每次发出新请求时都会运行它。

不幸的是,当我运行 eb logs 来查看我的实例日志时,这条调试行从未出现过——我不知道为什么。

我尝试过打印到 STDERR、打印到 STDOUT 等 - 但我绝对无法获得任何输出。

我已经在互联网上搜索了解决方案,但还没有找到任何解决方案。

最佳答案

我认为 import "github.com/rdegges/ipify-api/api" 是从 Github 上的副本构建的,而不是从本地副本构建的。 api 包的最新提交没有多余的 fmt 语句。此外,main.go 中的 log 语句也可以正常工作,api 中已有的 fmt.Fprintf 也是如此包裹。尝试验证 api 包是从您认为的源构建的。

2015 年 6 月 1 日编辑:

我所有的测试都表明这是一个由内部子包引起的问题,而远程服务遇到了问题。 api 包不是从本地副本构建的。 fmt.Printmain.go 工作得很好,并将 GetIPapi 包移动到 main 包让 fmt 在 web 请求期间打印到标准输出。

基本上,对本地 api 子包所做的所有更改都会被忽略。

EB 日志可能会说明哪些软件包正在远程下载;我的。

我不是 Godep 专业人士,所以也许 Godep 专业人士可以详细说明。但是FWIW,似乎它可能与this issue有关,相切。这也可能是远程服务没有使用 godep go build 构建的问题,但就像我说的,我不是 Godep 专业人士,所以我不确定。

关于amazon-web-services - 在 AWS 上使用 Elastic Beanstalk 的 Go Web 应用程序未在日志中显示输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30428926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com