On Fri, Feb 09, 2018 at 11:38:36PM +0300, Slawa Olhovchenkov wrote: > On Fri, Feb 09, 2018 at 10:27:22PM +0300, Ruslan Ermilov wrote: > > > On Fri, Feb 09, 2018 at 04:35:05PM +0300, Slawa Olhovchenkov wrote: > > > On Fri, Feb 09, 2018 at 04:26:42PM +0300, Ruslan Ermilov wrote: > > > > > > > On Fri, Feb 09, 2018 at 04:11:16PM +0300, Slawa Olhovchenkov wrote: > > > > > On Fri, Feb 09, 2018 at 04:01:09PM +0300, Maxim Dounin wrote: > > > > > > > > > > > Hello! > > > > > > > > > > > > On Fri, Feb 09, 2018 at 12:38:32PM +0300, CoDDoC wrote: > > > > > > > > > > > > [...] > > > > > > > > > > > > > access_log в нижестоящем контексте отменяет все вышестоящие? > > > > > > > > > > > > Как и все остальные директивы, access_log наследуется с > > > > > > предыдущих уровней тогда и только тогда, когда на данном уровне не > > > > > > указано директив access_log. > > > > > > > > > > и при этом, кажется, нет возможности просто включать/выключать acceess > > > > > log, не трогая его настройки? > > > > > > > > Запись в лог может быть условной при помощи параметра "if=". > > > > > > > > Кроме того, можно на внешнем уровне (напр., server) задать access_log'и, > > > > а на вложенном уровне (напр., location) указать "access_log off;". > > > > Тогда на данном вложенном уровне access_log'и будут отключены, а > > > > на других вложенных уровнях (где не указаны свои access_log'и) будут > > > > действовать настройки как на внешнем уровне. > > > > > > > > Я, впрочем, не уверен, что понял Ваш витиеватый вопрос правильно. > > > > > > ну хочется указать accesslog. с кучей параметров (ну там путь, > > > буферезиция и все такое). а потом по дефолту его запретить. и > > > разрешать только для отдельный location. > > > > > > ну вот я не вижу возможности так поступить, не повторяя в каждом > > > location директивы access_log со всеми этими параметрами. > > > > Мне кажется, я уже ответил на Ваш вопрос ранее. > > > > access_log <много_параметров> if="$log"; > > > > location /1 { > > set $log 1; > > <тут он будет работать> > > } > > > > location /2 { > > <а тут - нет> > > } > > а что при этом с производительностью?
Зависит от сложности вычисления условия. В случае с "set", это будет практически неизмеримо. Цитата из кода: if (log[l].filter) { if (ngx_http_complex_value(r, log[l].filter, &val) != NGX_OK) { return NGX_ERROR; } if (val.len == 0 || (val.len == 1 && val.data[0] == '0')) { continue; } } _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru