ПРОЕКТЫ 


  АРХИВ 


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: Nginx 0.8.20 и $unixtime



Патч во вложении.
Игорь, не могли бы Вы добавить его в основной nginx?

18 октября 2009 г. 22:54 пользователь Борис Долгов <boris@xxxxxxxxxxx> написал:
> увы, в первоначальном месте его уже нет, так как разбираться с доменом
> .ru.net очень проблемно.
>
> патч есть в srpm'ке сборки nginx'a от ras.su, можете нагуглить это в рассылке.
>
> Если не найдете или не сможете извлечь - пишите, смогу отослать, но не
> раньше середины понедельника.
>
> 18.10.09, Алексей<systeamx@xxxxxxxxx> написал(а):
>> Добрый день,
>>
>> Подскажите где взять патч на версию 0.8.20 для того чтобы работал
>> следующий формат логов:
>>
>> '$unixtime $transferred .';
>>
>> Спасибо.
>>
>
>
> --
> С уважением, Борис Долгов.
> icq 77556665
> e-mail boris@xxxxxxxxxxx
>



-- 
С уважением, Борис Долгов.
icq 77556665
e-mail boris@xxxxxxxxxxx
--- src/http/modules/ngx_http_log_module.c~     2008-09-05 19:25:47.000000000 
+0400
+++ src/http/modules/ngx_http_log_module.c      2008-09-12 18:15:19.000000000 
+0400
@@ -94,7 +94,11 @@
     u_char *buf, ngx_http_log_op_t *op);
 static u_char *ngx_http_log_request_length(ngx_http_request_t *r, u_char *buf,
     ngx_http_log_op_t *op);
-
+static u_char *ngx_http_log_transferred(ngx_http_request_t *r, u_char *buf,
+    ngx_http_log_op_t *op);
+static u_char *ngx_http_log_unixtime(ngx_http_request_t *r, u_char *buf,
+    ngx_http_log_op_t *op);
+    
 static ngx_int_t ngx_http_log_variable_compile(ngx_conf_t *cf,
     ngx_http_log_op_t *op, ngx_str_t *value);
 static size_t ngx_http_log_variable_getlen(ngx_http_request_t *r,
@@ -203,7 +207,11 @@
                           ngx_http_log_body_bytes_sent },
     { ngx_string("request_length"), NGX_SIZE_T_LEN,
                           ngx_http_log_request_length },
-
+    { ngx_string("transferred"), NGX_OFF_T_LEN,
+                          ngx_http_log_transferred },
+    { ngx_string("unixtime"), 12,
+                          ngx_http_log_unixtime },
+                          
     { ngx_null_string, 0, NULL }
 };
 
@@ -1316,3 +1324,19 @@
 
     return NGX_OK;
 }
+
+
+static u_char *
+ngx_http_log_transferred(ngx_http_request_t *r, u_char *buf, ngx_http_log_op_t 
*op)
+{
+    off_t rxtx = r->connection->sent;
+    rxtx += (off_t)(r->request_length);
+    return ngx_sprintf(buf, "%O", rxtx);
+}
+
+
+static u_char *
+ngx_http_log_unixtime(ngx_http_request_t *r, u_char *buf, ngx_http_log_op_t 
*op)
+{
+    return ngx_sprintf(buf, "%T", ngx_cached_time->sec);
+}


 




Copyright © Lexa Software, 1996-2009.