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