<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>