
# 

Logs

* * *

The [Storage Logs](/dashboard/project/_/logs/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](/dashboard/project/_/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](../../../telemetry/advanced-log-filtering/index.md)

### Example Storage queries for the Logs Explorer[#](#example-storage-queries-for-the-logs-explorer)

#### Filter by status 5XX error[#](#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[#](#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[#](#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[#](#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;
```
