Hello!
On Mon, Nov 09, 2015 at 07:53:12PM +0600, Максим wrote:
> >
> > > А самое главное, как решить проблему порчи логов? set на уровне http
> > > очевидно невозможен.
> >
> > Если совсем просто, то так:
> >
> > uninitialized_variable_warn off;
> >
> > Подробнее - http://nginx.org/r/uninitialized_variable_warn.
> >
> > Ну или можно подумать подробнее над конфигурацией, и, скажем,
> > переделать всё на использование map, http://nginx.org/r/map.
> >
> >
> uninitialized_variable_warn off; выключит записи в error_log, но они как
> раз не беспокоят.
> Проблемой является нарушение формата access_log, так как получается, что
> первого элемента в строчке лога может не быть в некоторых запросах. Парсеры
> страдают, и вообще некрасиво.
Ну как бы у вас переменная, которая в некоторых случаях может быть
не установленной, и, соответственно, пустой. С точки зрения
формата логов штатный путь это обработать - кавычки вокруг
значения.
> То есть если вместо set я на уровне http пропишу map с тем же смыслом, что
> нынешний set - этот map будет обрабатываться и в случае "плохого" запроса?
Значение map вычисляется в тот момент, когда потребовалось
значение соответствующей переменной. Соответственно, если
значение потребовалось при записи в лог - тогда оно и будет
вычислено.
--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru