Есть ли способ отключить access_log
для кода ответа HTTP 200? Я пробовал использовать условия, но кажется access_log
директива не разрешена в if
блок. Я пробовал это:
access_log /var/log/nginx/access_log;
if ($http_status == 200){
access_log off; # <---------
}
но это недействительно
# nginx -t
nginx: [emerg] "access_log" directive is not allowed here ...
Есть какой-либо способ сделать это?
Пожалуйста попробуйте
map $status $loggable
{
~^[2] 0;
default 1;
}
access_log /var/log/nginx/access_log combined if=$loggable;
что приводит к тому, что запросы с кодами ответа 2xx не регистрируются.