ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Не записывается access log



Hello!

On Thu, Apr 25, 2013 at 11:05:30AM -0400, X-Thief wrote:

> Пытаюсь сделать чтоб 444 http ошибки записывались в другой лог файл.
> 
> Делал так:
> 
> error_page 444 = @log444;
> location @log444 {
> access_log log444.txt;
> }
> 
> Файл создался, но ничего в него не записывается. Ошибки по прежнему пишутся
> в прежний стандартный лог-файл.
> 
> Чуть ниже у меня условия, где выдаются такие ошибки. Эти условия находятся
> как и в location { так и просто в server {
> 
> Вроде этого:
> if ($something) {
> return 444;
> }
> 
> Может кто что посоветовать?
> Спасибо.

Возврат 444 ошибки - это способ сказать nginx'у, что соединение 
надо закрыть.  До директивы error_page в этом случае дело не 
доходит.

Если хочется, чтобы nginx закрыл соединение, и при этом отдельно 
залогировал соответствующий запрос - то можно сделать это, перейдя 
в нужный location перед возвратом 444, как-то так:

    error_page 418 = @close;

    if ($something) {
        return 418;
    }

    location @close {
        access_log /path/to/444.log;
        return 444;
    }

-- 
Maxim Dounin
http://nginx.org/en/donation.html

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.