<HTML><BODY>Доброе время суток!<br>nginx/1.13.8<br><br>Случайно обнаружилась непонятка.<br><br>Конфиг 1:<br>http {<br> ....<br> log_format f1 '[$time_local - 1]';<br> log_format f2 '[$time_local - 2]';<br><br> access_log /var/log/nginx/1.log f1;<br> access_log /var/log/nginx/2.log f2;<br><br> server {<br> listen ...<br> root ....<br> index .....<br># access_log /var/log/nginx/1.log f1;<br># access_log /var/log/nginx/2.log f2;<br> }<br>}<br><br>Делаем запрос и получаем ожидаемое: запись в ОБА файла.<br>-------------------------------------------------------------------------------------------<br>Теперь так.<br>Конфиг 2:<br>http {<br> ....<br> log_format f1 '[$time_local - 1]';<br> log_format f2 '[$time_local - 2]';<br><br> access_log /var/log/nginx/1.log f1;<br># access_log /var/log/nginx/2.log f2;<br><br> server {<br> listen ...<br> root ....<br> index .....<br># access_log /var/log/nginx/1.log f1;<br> access_log /var/log/nginx/2.log f2;<br> }<br>}<br><br>И запись ТОЛЬКО во второй файл.<br>-------------------------------------------------------------------------------------------<br>Конфиг 3:<br>http {<br> ....<br> log_format f1 '[$time_local - 1]';<br> log_format f2 '[$time_local - 2]';<br><br># access_log /var/log/nginx/1.log f1;<br># access_log /var/log/nginx/2.log f2;<br><br> server {<br> listen ...<br> root ....<br> index .....<br> access_log /var/log/nginx/1.log f1;<br> access_log /var/log/nginx/2.log f2;<br> }<br>}<br><br>Опять все ожидаемо, запись в оба файла.<br>-------------------------------------------------------------------------------------------<br>В server / location похожая ситуация:<br>server {<br> listen ...<br> root ...<br> index ...<br> ....<br> access_log /var/log/nginx/1.log f1;<br> ........<br><br> # Все, что не совпало с разрешенными<br> location "" {<br> return 404;<br> }<br><br> error_page 404 = @err404;<br><br> location @err404 {<br> keepalive_timeout 0;<br> rewrite ^ /err/404.html break;<br> access_log /var/log/nginx/2.log f2;<br> }<br>}<br><br>Ожидаемо: бредовый запрос должен отметиться и в 1.log, и в 2.log<br>По факту: если работает "access_log /var/log/nginx/2.log f2;", соответственно, не работает "access_log /var/log/nginx/1.log f1;"<br>Правильный запрос приходит в 1.log, бредовый - в 2.log<br><br>Если "access_log /var/log/nginx/2.log f2;" отключить, тогда в 1.log приходят все запросы, и правильные, и бредовые.<br><br>access_log в нижестоящем контексте отменяет все вышестоящие?<br>--</BODY></HTML>