Как логировать скачивание файла с сервера по прямой ссылке?
Два варианта, первое (и более корректное, так как не создает дополнительной нагрузки) - парсить логи nginx на сервере откуда отдается файл (ну или Apache, но кто будет статику отдавать через Apache)

Второе - используя магию mod_replace отправлять пользователя сначала на скрипт, который сделает свой учет, а потом уже отдаст ему файл.
Я чаще всего  встречал только через промежуточный скрипт.