Сейчас log_format использует синтакcис, несколько похожий на Апачевский
в плане названия полей - %addr, %request, %{User-Agent}i.
Есть предложение привести синтаксис в соответствие с общим синтаксисом,
то есть, задавать поля в виде переменных: $remote_addr, $request,
$http_user_agent.
Отдаваемые строки заголовка типа %{Expires}o будут переменными
$out_http_expires.
Старый формат ещё поживёт некоторое время, а потом будет удалён.
А насколько дорого будет сохранить a-la-Апачевский синтаксис?
Большинство ведь использует nginx совместно с Апачем, и держать в голове 2
разных синтаксиса для описания одного и того же - imho, начало дороги в
Кащенко.
Дело в том, что синтаксис похож на апачевский, но не соответсвует ему
в точности, например:
nginx Apache
%addr %a
%request %r
%status %s
%{name}v %{name}e
Соответствуют только %{name}i и %{name}o, и всё. Поэтому держать два
синтаксиса приходиться уже сейчас. Лучше если они будут существенно
отличаться, чем отличаться в деталях.
Игорь Сысоев
http://sysoev.ru