Директива access_log
включает if = условие , которое можно использовать для управления журналированием.
Например:
map $request_uri $loggable {
~^/app 0;
default 1;
}
server {
access_log /var/log/nginx/main.access.log if=$loggable;
...
}
См. thisдокумент для подробностей.
Альтернатива состоит в том, чтобы зарегистрировать все вместе и разбить его на два отдельных файла позже, используя grep
.
Вдохновленные решением @ Andrea, вы могли бытакже используйте этот шаблон:
server {
location / {
access_log /var/log/nginx/main.access.log;
location /foo { ... }
location /bar { ... }
...
}
location /app {
access_log /var/log/nginx/app.access.log;
}
}
Таким образом, верхний уровень имеет только два блока location
верхнего уровня, а все остальные блоки location
вложены в `расположение по умолчанию.