gpt4 book ai didi

api - Heroku 应用程序日志流

转载 作者:行者123 更新时间:2023-12-01 11:44:17 26 4
gpt4 key购买 nike

我正在尝试使用新的 Heroku api 通过 curl 流式传输我的应用程序的日志:这是文档中所说的 ( https://devcenter.heroku.com/articles/platform-api-reference#app )

Streaming is performed by doing an HTTP GET method on the provided logplex url and retrieving log lines utilizing chunked encoding.

所以首先我检索 logplex url:

curl -X POST https://api.heroku.com/apps/my-app/log-sessions \
-H "Accept: application/vnd.heroku+json; version=3" \
-H "Authorization:XXX" -v

然后我在响应中得到类似这样的内容:

"logplex_url":"https://logplex.heroku.com/sessions/abcdef-079b-4264-a83c-031feb31bfc2?srv=132456798"

所以我又打了一个 curl 电话:

curl -X GET "https://logplex.heroku.com/sessions/abcdef-8a7e-442f-a164-4c64e845b62d?srv=123456798" -H "Transfer-Encoding: chunked"

我有一个持续的连接,但什么也没有......

如果我不指定 Transfer-Encoding header ,我会收到日志,但连接会关闭。

是否真的可以像引用文献中指定的那样流式传输日志?

最佳答案

这是可能的,不幸的是我写错了,它不是我认为的分 block 编码。我们确实在 CLI 和 log2viz 中使用了这个接口(interface),但遗憾的是它本身并不是标准的 http。

基本上你应该做一个普通的 HTTP 请求并读回 HTTP 响应头。鉴于返回的 header ,您通常会从套接字读取,直到读取长度为零,此时您可以假设您已完成并完成。在 logplex 的情况下,我们不愿阻塞(可能无限期地),所以我们继续并返回一个空读取。然后我们只希望您在完成后可以简单地关闭套接字。

不幸的是,我无法弄清楚如何使用 cURL 执行此操作。但我可以指出我们解决这个问题的开源示例,希望这会有所帮助。

希望这至少有助于澄清当前情况,我会尝试更新文档以反射(reflect)这一点。感谢您提供详细的报告,如果您有其他问题,请告诉我,我可以帮助您解决。

关于api - Heroku 应用程序日志流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16848428/

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