我正在尝试跟踪我在 Bluemix 中部署的应用程序的日志。每次通过bx app push [app-name]
部署时,都会收到以下错误(但部署仍然成功(:
Warning: error tailing logs
Loggregator endpoint missing from config file
尝试尾随日志会产生:
$ bx app logs [app-name]
Invoking 'cf logs [app-name]'...
FAILED
Loggregator endpoint missing from config file
这是一个 Node.js 应用程序,我需要在我的package.json
中定义什么吗?我在文档中读到的所有内容似乎都应该自动工作:
Loggregator 会自动拾取 STDOUT 和 STDERR 数据。
版本信息:
$ bx -v
bx version 0.5.4+ae22935-2017-05-18T06:24:28+00:00
我听说 Bluemix bx
CLI 捆绑了一个较旧的 cf CLI 版本。
cf CLI 6.24.0 停止支持已弃用的"日志器"端点,转而支持多普勒端点。
因此,当您使用 cf CLI>=6.24.0 执行cf api
或cf login
时,不会将日志器端点添加到配置文件中,从而导致bx
无法收集日志。这将导致您在 bx app push
、 bx app start
(暂存时(和 bx app restage
以及 bx app logs
中看到的警告失败。
在更新bx
之前,解决方法是按照 https://stackoverflow.com/a/44639332/1227328 中建议的步骤进行操作,或者只是不要将bx
与任何 cf CLI 版本>=6.24.0 混合使用,并再次设置 API 端点,让(较旧的(CLI 将"loggregator"端点保存在其本地配置文件中。