I deliberately log as little as possible about my users. My nginx logrotate config is configured to store one week’s worth of access and error logs:

/var/log/nginx/*.log {
    ...
    rotate 7
    ...
}

As of this moment, that looks like:

-rw-r-----  1 www-data adm     443615 Jan  5 08:29 freeradical.zone-access.log
-rw-r-----  1 www-data adm    5405613 Jan  5 06:25 freeradical.zone-access.log.1
-rw-r-----  1 www-data adm     395094 Jan  4 06:24 freeradical.zone-access.log.2.gz
-rw-r-----  1 www-data adm     407455 Jan  3 06:24 freeradical.zone-access.log.3.gz
-rw-r-----  1 www-data adm     375444 Jan  2 06:24 freeradical.zone-access.log.4.gz
-rw-r-----  1 www-data adm     474143 Jan  1 06:24 freeradical.zone-access.log.5.gz
-rw-r-----  1 www-data adm     344550 Dec 31 06:25 freeradical.zone-access.log.6.gz
-rw-r-----  1 www-data adm     452215 Dec 30 06:25 freeradical.zone-access.log.7.gz
-rw-r-----  1 www-data adm          0 Jan  5 06:25 freeradical.zone-error.log
-rw-r-----  1 www-data adm       1461 Jan  4 23:10 freeradical.zone-error.log.1
-rw-r-----  1 www-data adm        349 Jan  3 18:43 freeradical.zone-error.log.2.gz
-rw-r-----  1 www-data adm        458 Jan  3 03:35 freeradical.zone-error.log.3.gz
-rw-r-----  1 www-data adm        314 Jan  1 13:49 freeradical.zone-error.log.4.gz
-rw-r-----  1 www-data adm        428 Dec 30 16:01 freeradical.zone-error.log.5.gz
-rw-r-----  1 www-data adm        409 Dec 29 18:01 freeradical.zone-error.log.6.gz
-rw-r-----  1 www-data adm        387 Dec 29 05:47 freeradical.zone-error.log.7.gz

To be explicit: these are not usually processed in any way and are never used for analytics or tracking. I’ll occasionally (but rarely) use standard local Unix commands (grep, awk, etc.) to examine them directly on the server for troubleshooting, but that is their sole use and the only time they’re ever accessed.

Mastodon itself records a timestamp of each user’s most recent activity and IP address. I never access this information except in the course of investigating reports.

I have not enabled logging in S3, so I have no specific record of what media assets a user might have accessed. Amazon provides some aggregate statistics (“this many objects were accessed”, “we’ve served this many gigabytes of images”, “you owe us six bucks”, and so on) but nothing more granular.