multiple access_log with variables in the file path

Sergey Kandaurov pluknet at nginx.com
Wed May 14 09:19:59 UTC 2014


On May 14, 2014, at 12:58 PM, Den Bozhok <undying-m at yandex.ru> wrote:
> Доброго дня!
>  
> Пытаюсь настроить в nginx несколько access логов для сервера.
> Имеется два разных формата лога, поэтому хочется писать сразу два лога одновременно. В классической конфигурации все работает:
>  
> access_log /var/log/nginx/name.access.log format1;
> access_log /var/log/nginx/name.access.json format2; 
>  
> Но если попробовать дело оптимизировать примерно так:
>  
> set $name log1;
>  
> access_log /var/log/nginx/$name.access.log format1;
> access_log /var/log/nginx/$name.access.json format2;
>  
> То запись идет только в один файл и что бы я не делал, во второй файл никаких логов не падает. Можно ли как то решить эту проблему с переменными?
>  

Я бы попробовал для начала собрать nginx без 3rd party modules.

nginx version: nginx/1.5.12

    log_format format1 "$uri:$status";
    log_format format2 "$uri:$scheme”;

        location /rwlog {
            set $name log1;
            access_log /path/to/$name.access.log format1;
            access_log /path/to/$name.access.json format2;
        }

curl 127.0.0.1:8080/rwlog

log1.access.log
/rwlog:404

log1.access.json
/rwlog:http

-- 
Sergey Kandaurov



Подробная информация о списке рассылки nginx-ru