условное логгирование
Andrew Kopeyko
kaa at ramtel.ru
Mon Mar 13 13:18:54 MSK 2006
Добрый день всем!
Возникла необходимость писать в лог только успешно окончившиеся запросы,
т.е. только со статусами 200 и 206.
В Апаче это реализуется так:
LogFormat "%200,206h %200,206t \"%200,206r\" %200,206>s %200,206b" common
При этом, правда, в лог Апача будут писаться строки
'- - "-" - -'
для запросов с отличными от 200 и 206 статусами...
Насколько я понимаю, реализовать такое условное логгирование доступными
средствами nginx'а сейчас не получится...
Можно, конечно, пост-фактум обрабатывать лог и вырезать всё лишнее - но
фильтрация на ходу сильно уменьшит размер файла лога, что для меня очень
важно.
Я вижу 2 варианта реализации:
1. расширить синтаксис директивы access_log
access_log путь [формат [buffer=размер] [status[!]=статус1,статус2]]|off
2. добавить переменную $request_status и использовать её в
конструкции if
if ($request_status ~* (200|206) {
access_log /path/to/log logformat
}
Игорь!
Насколько сложно/долго будет сделать такое?
--
Best regards,
Andrew Kopeyko <kaa at ramtel.ru>
More information about the nginx-ru
mailing list