Логи Apache для отдельных файлов
ПОскольку на сервере вращается довольно большое количество различных доменов и трафика там достаточно много, то за день жизни Apache накапливается порядка 1Гб логов. Большинство записей интереса не представляют(например, картинки, которые являются частью дизайна) и для экономии места(а также для увеличения скорости анализа логфайлов) необходимо проводить избирательное логирование запросов.
Настроить это довольно таки просто:
Например, мы хотим не записывать обращения к gif файлам(всем) и игнорировать все файлы папки /design
В файле конфигурации Апач добавляем строки
SetEnvIf Request_URI “\.gif$” dontlog
SetEnvIf Request_URI “^/design/” dontlog
Эти строки устанавливают переменную окружения dontlog при наступлении желательных событий(в данном случае соотвествие строки запроса регулярному выражению).
Дальше ищем строчку CustomLog, которая задает формат логов и в конец добавляем условие env!=dontlog. После чего данная строчка будет выглядеть примерно вот так:
CustomLog logs/access_log combined env!=dontlog
Кроме строки запроса логи можно фильтровать по следующим параметрам:
- Remote_Addr - IP адрес клиента. Мы можем не логировать посетителей с определенных адресов.
- Server_Addr - IP адрес сервера, обрабатывающего текущий запрос
- Request_Method - метод запроса(GET,POST)