Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Не записывается access log
У меня после обновления до 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;
> }
>
Attachment:
signature.asc
Description: OpenPGP digital signature
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|