Skip to main content
Amazon S3 server access logging captures detailed records for every request to a bucket, enabling you to audit access, debug issues, and optimize storage. Each operation—such as a GET on file1.txt—generates a log entry that records who accessed the object, when the request occurred, and which API call was performed:

Why Enable Access Logs?

Enabling server access logging provides several advantages:
Storing and analyzing access logs may incur additional storage and request charges. Review your AWS billing dashboard to estimate costs.

What Information Is Logged?

Each log record consists of numerous fields, including: For the complete list of log fields, see Monitoring Amazon S3 > Log Format in the AWS documentation:
The image shows a webpage from the Amazon Simple Storage Service (S3) documentation, detailing server access log formats and examples. It includes sections on HTTP status, error codes, bytes sent, object size, total time, and turn-around time.

Sample Log Entry

A typical S3 access log record begins with the bucket owner and bucket name, followed by the timestamp and requester details:
Subsequent fields describe the operation, request line, status, bytes, and user agent:
All generated log files are delivered as plain text to your designated logging bucket:
The image shows a webpage from the AWS documentation about Amazon S3 server access log format, detailing log record fields and providing an example of log records.

Watch Video