Heroku查看应用程序configuration和日志(与生产configuration/日志logging)
我正在调查我的Heroku评论应用程序的一些问题。
看来,从Bash,没有办法访问configuration(环境variables)或日志logging。 如果我运行:
heroku logs --tail
这只是回来与生产应用程序的日志(这是有道理的,因为似乎没有一种方法来保持范围在审查应用程序)。 我可以从Heroku仪表板中看到Review App日志,但是即使这样看起来也有些偏差,因为随后的刷新会忽略来自日志的不同行(这就是为什么我只是想从Bash中看到它们)。
另外,如果我这样做:
heroku config
它返回预期的configuration值(即DATABASE_URL
),但是我不确定这是否仅用于生产。
例如,从审查应用程序运行这个:
console.log("process.env.PORT: " + process.env.PORT); console.log("process.env.DATABASE_URL: " + process.env.DATABASE_URL); console.log("process.env.PAPERTRAIL_API_TOKEN: " + process.env.PAPERTRAIL_API_TOKEN);
PORT
正在返回一个值,但是DATABASE_URL
和PAPERTRAIL_API_TOKEN
返回undefined
,即使这些都在heroku config
。
所以我的问题是:
1)如何从Bash(或Heroku仪表板以外的其他可靠方法)查看Review App的日志?
2)“评论应用程序”和“生产”之间的configuration值是否有所不同?如果是这样,我如何configuration“评论应用程序”?
使用–app指向您的评论应用程序,例如:
heroku config --app my_review_app heroku config:set VAR=VALUE --app my_review_app
有收集日志的插件,并有许多其他function,如警报。
所以你可以考虑使用其中之一。 我只是给一个实际上我们正在使用我们的应用程序称为Logentries
Yoni是完全正确的,但是这里有更多的细节。
运行heroku config
,响应的第一行显示当前指向的应用程序。 这应该是我的第一个线索,我最初错过了。
$ heroku config === fathomless-meadow-38193 Config Vars DATABASE_URL: postgres://xxxxxxxxxx...
一旦我运行我的审查应用程序的configuration,它确实返回空。
$ heroku config --app blooming-river-14132-pr-2 === blooming-river-14132-pr-2 Config Vars
正如Yoni所说,你可以使用-app
开关在设置configurationvariables时指定一个应用程序。 但是我希望我的默认应用指向我的blooming-river
应用程序,这个应用程序让我知道如何改变这个问题:
$ heroku git:remote -a blooming-river-14132-pr-2
现在我可以设置DATABASE_URL
使用:
$ heroku config:set DATABASE_URL=POSTGRES://xxxxxxxx...
我真的不喜欢为每个新的请求手动设置它,所以我发现评论应用程序可以从父应用程序inheritanceconfigurationvariables 。 不幸的是,我从来没有得到这个工作,至less不是DATABASE_URL
。
所以我仍然试图弄清楚,并会更新这个答案,如果我这样做。