I have a log in Stackdriver that logs every request goes into my api and failed, and I want to write a script to count on the number of times each error message appears. The pro
Note that the filter is same as when you choose advanced filter in the Logging gui.
gcloud beta logging read "resource.type=\"gae_app\" resource.labels.module_id=\"api\" \"Ronald Reagan\"" --format=json --freshness=6d > x.txt
I found the best way to do it it's with the gcloud cli
Example you can you use :
gcloud beta logging read ‘<filter>’ --project ”<project name>” --format json --freshness=<number of days to go back>
You can now do this from the gcloud CLI tool, with gcloud logging read
: https://cloud.google.com/logging/docs/reference/tools/gcloud-logging#reading_log_entries
Though in the scenario described, creating a log sink is the only way to capture events that are older than the stackdriver logging window, which is only 30 days even in the paid version.
If you want to pull existing log data, you'll need to use the API to list entries: https://cloud.google.com/logging/docs/reference/v2/rest/v2/entries/list
You can do this directly from the API documentation page if you only need a one time solution.