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.