GCS does offer access logs, although they arrive as CSV files with a bunch of information. I'm testing this feature because I've never used before, but it seems that guarantee the completeness of access logs.
To enable the access logs to your bucket.
First, create another bucket to hold the access logs. Let's call it "mylogsbucket".
Second, give GCS permission to write logs to that bucket with this gsutil command:
gsutil acl ch -g [email protected]:W gs://mylogsbucket
Third, activate logging:
gsutil logging set on -b gs://mylogsbucket gs://mybucket
Usage logs for mybucket will now show up about once per hour in mylogsbucket, and storage logs recording how much data is being stored will show up once per day.
More documentation on this feature is here