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