У меня на виртуальном хосте есть такая строка:
CustomLog /var/log/access.log combined
Но я хочу, чтобы в конкретный журнал записывался каждый запрос определенного каталога.
например
В моем паблике есть следующие подкаталоги:
user@/var/www # ls
index.test images/ test.php
Как вести журнал, когда пользователи запрашивают любой файл внутри images
реж?
Редактировать: Основная идея заключается в том, чтобы предотвратить большой рост основного файла журнала и упростить поиск.
Вы можете попробовать установить переменные среды.
Например.
SetEnvIf Request_URI ^/images(/|$) imageslog
CustomLog /var/log/images-access.log combined env=imageslog
Третий аргумент является необязательным и определяет, нужно ли регистрировать конкретный запрос в зависимости от наличия или отсутствия конкретной переменной в серверной среде. Если указанная переменная среды установлена для запроса (или не установлена, в случае
'env=!name'
предложение), то запрос будет зарегистрирован.Переменные среды могут быть установлены для каждого запроса с помощью параметра
mod_setenvif
и / илиmod_rewrite
модули. Например, если вы хотите записывать запросы для всех изображений GIF на вашем сервере в отдельный файл журнала, но не в основной журнал, вы можете использовать:SetEnvIf Request_URI \.gif$ gif-image CustomLog gif-requests.log common env=gif-image CustomLog nongif-requests.log common env=!gif-image
Или, чтобы воспроизвести поведение старой директивы RefererIgnore, вы можете использовать следующее:
SetEnvIf Referer example\.com localreferer CustomLog referer.log referer env=!localreferer
Смотрите также: http://httpd.apache.org/docs/2.2/mod/mod_log_config.html
Я надеюсь это поможет