Welcome! Log In Create A New Profile

Advanced

Re: access_log переопределить через if на уровне server

Alexander Kolesen
January 18, 2012 05:26PM
> Здравствуйте, коллеги.
>
> Пытаюсь сделать так:
> server {
> listen ...
> if ($args ~ coolid){
> access_log = /var/log/nginx/special_coolid-access.log
> }
> ....
> }
>
> Получаю
> "access_log" directive is not allowed here
>
> Пуркуа?
>
> P.S. Основная цель - получить отдельный лог для запросов с coolid в
> аргументах.

Как вариант:

map $arg_coolid $access_log {
~^ special_coolid-access.log;
default access.log;
}

server {
...
access_log /var/log/nginx/$access_log;
...
}

Если аргумент coolid присутствует в запросе и не пуст, то логгирование
таких запросов будет производиться в special_coolid-access.log.

Стоит принимать во внимания особенности, которые перечислены здесь:
http://nginx.org/ru/docs/http/ngx_http_log_module.html

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

access_log переопределить через if на уровне server

Ilya Lobahin January 17, 2012 02:30AM

Re: access_log переопределить через if на уровне server

Ilya Lobahin January 17, 2012 02:30AM

Re: access_log переопределить через if на уровне server

Aleksandr Sytar January 17, 2012 02:42AM

Re: access_log переопределить через if на уровне server

Alexander Kolesen January 18, 2012 05:26PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 249
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready