如何在Stackdriver中导出以前的日志

时间:2017-08-29 17:07:53

标签: google-cloud-platform stackdriver google-cloud-stackdriver

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

4 个答案:

答案 0 :(得分:5)

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

虽然在所描述的场景中,创建日志接收器是捕获比stackdriver日志记录窗口更旧的事件的唯一方法,即使在付费版本中也只有30天。

答案 1 :(得分:5)

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

gcloud beta logging read "resource.type=\"gae_app\" resource.labels.module_id=\"api\" \"Ronald Reagan\"" --format=json --freshness=6d > x.txt

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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