Назад | Перейти на главную страницу

apache2: записывать запросы из локальной сети в отдельный файл журнала

Я хотел бы разделить записи журнала apache 2.2 в 2 файлах журнала: запросы из LAN (192.168.0.0/16) должны идти в lan-access.log, а остальное по умолчанию access.log

Как я могу этого добиться? Я пытался использовать SetEnvIf и условное ведение журнала, как описано в https://httpd.apache.org/docs/current/logs.html#conditional :

$ cat /etc/apache2/conf.d/lan-access-log.conf 
SetEnvIf Remote_Addr "192\.168\." fromlan
CustomLog ${APACHE_LOG_DIR}/lan-access.log common env=fromlan

но это не работает, и запросы LAN продолжают появляться в основном acess.log. Что не так с моей конфигурацией?

Вы забываете настроить инверсию, кроме записи ваших запросов LAN в собственный журнал, вам также необходимо исключить их из обычного журнала ...

 # Where your access log is defined
 CustomLog logs/access_log common env=!fromlan

Убедитесь, что строка SetEnvIf объявлена ​​раньше обычного журнала доступа.