【发布时间】:2019-04-15 11:30:48
【问题描述】:
我在我的 go 应用程序中使用弹性 apm 开发我通过终端导出环境变量并且它正在工作。 但现在我想部署应用程序,所以我需要从 .env 文件中读取变量
解释
我在我的应用程序中使用 go.elastic.co/apm/module/apmhttp
当go.elastic.co/apm 读取环境变量时,
它看不到ELASTIC_APM_SERVICE_NAME、ELASTIC_APM_SERVER_URL 或ELASTIC_APM_SECRET_TOKEN
存在于我的应用文件中的 .env 中。
【问题讨论】:
-
在初始化或初始化结构之前重新检查 gotenv.Load()
-
@MuhamedKeta
gotenv.Load()运行良好,但问题是go.elastic.co/apm看不到环境变量 -
这可能是initialization order 的问题。 go.elastic.co/apm reads the environment variables in its init method。如果没有看到一些代码,我们无法确定或提供解决方案。如果您在加载文件后create your own Tracer 它可能会起作用。
-
@Peter 谢谢彼得,我创建了新的跟踪器,它现在可以工作了
-
@HongboMiao 我希望我的解决方案能帮到你:)
标签: go environment-variables apm