Logs
The Storage Logs provide a convenient way to examine all incoming request logs to your Storage service. You can filter by time and keyword searches.
For more advanced filtering needs, use the Logs Explorer to query the Storage logs dataset directly. The Logs Explorer is separate from the SQL Editor and uses a subset of the BigQuery SQL syntax rather than traditional SQL.
For more details on filtering the log tables, see Advanced Log Filtering
Example Storage queries for the Logs Explorer
Filter by status 5XX error
1select2 id,3 storage_logs.timestamp,4 event_message,5 r.statusCode,6 e.message as errorMessage,7 e.raw as rawError8from9 storage_logs10 cross join unnest(metadata) as m11 cross join unnest(m.res) as r12 cross join unnest(m.error) as e13where r.statusCode >= 50014order by timestamp desc15limit 100;Filter by status 4XX error
1select2 id,3 storage_logs.timestamp,4 event_message,5 r.statusCode,6 e.message as errorMessage,7 e.raw as rawError8from9 storage_logs10 cross join unnest(metadata) as m11 cross join unnest(m.res) as r12 cross join unnest(m.error) as e13where r.statusCode >= 400 and r.statusCode < 50014order by timestamp desc15limit 100;Filter by method
1select id, storage_logs.timestamp, event_message, r.method2from3 storage_logs4 cross join unnest(metadata) as m5 cross join unnest(m.req) as r6where r.method in ("POST")7order by timestamp desc8limit 100;Filter by IP address
1select id, storage_logs.timestamp, event_message, r.remoteAddress2from3 storage_logs4 cross join unnest(metadata) as m5 cross join unnest(m.req) as r6where r.remoteAddress in ("IP_ADDRESS")7order by timestamp desc8limit 100;