Re: Вопрос по access_log
Ruslan Ermilov
ru на nginx.com
Пт Фев 9 19:27:22 UTC 2018
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 {
<а тут - нет>
}
Подробная информация о списке рассылки nginx-ru