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);
+}
|