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