16

我在 Stackdriver 中有一个日志记录每个请求进入我的 api 并失败,我想编写一个脚本来计算每条错误消息出现的次数。问题是,Stackdriver V2 中的导出功能只允许我接收即将出现的错误消息,但我只关心日志中已经存在的日志条目。有没有办法从 Stackdriver 下载完整的日志?

4

4 回答 4

14

您现在可以通过 gcloud CLI 工具执行此操作,使用gcloud logging readhttps ://cloud.google.com/logging/docs/reference/tools/gcloud-logging#reading_log_entries

尽管在所描述的场景中,创建日志接收器是捕获早于堆栈驱动程序日志记录窗口的事件的唯一方法,即使在付费版本中也只有 30 天。

于 2018-01-25T17:34:52.130 回答
6

请注意,过滤器与您在 Logging gui 中选择高级过滤器时的过滤器相同。

gcloud beta logging read "resource.type=\"gae_app\" resource.labels.module_id=\"api\" \"Ronald Reagan\"" --format=json --freshness=6d > x.txt
于 2020-01-30T08:20:35.483 回答
1

如果要提取现有日志数据,则需要使用 API 列出条目:https ://cloud.google.com/logging/docs/reference/v2/rest/v2/entries/list

如果您只需要一次性解决方案,您可以直接从 API 文档页面执行此操作。

于 2017-09-15T13:51:38.620 回答
0

我发现最好的方法是gcloud cli 使用您可以使用的示例: gcloud beta logging read ‘&lt;filter>’ --project ”&lt;project name>” --format json --freshness=<number of days to go back>

于 2021-01-05T10:51:17.810 回答