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

Vadim A. Misbakh-Soloviov mva at mva.name
Tue Apr 30 11:59:25 UTC 2013


У меня после обновления до 1.4.0 per-server'ные access_log'и не пишутся
вообще ни в каком случае. Если указать в http{} — все обращения на все
хосты будут писаться туда. Если не указать — в дефолтный nginx'овый. При
этом указанные в server{} аццесс-логи — игнорируются...


25.04.2013 23:07, Maxim Dounin пишет:
> 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;
>     }
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130430/aec4d66c/attachment.bin>


Подробная информация о списке рассылки nginx-ru