А РХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev ][Date Next ][Thread Prev ][Thread Next ][Date Index ][Thread Index ]
Как правильно писать логи из функции-обработчика запросов?
To : nginx-ru@xxxxxxxxx
Subject : Как правильно писать логи из функции-обработчика запросов?
From : "Sergey S." <neavirc@xxxxxxxxx >
Date: Tue, 11 Mar 2008 08:05:00 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; bh=AfpsvfLFMhfXac+1vRCQvB7BjX+6SkHvdaH89HH9L8Y=; b=QsCdduintKn1xo5KjpBeF+RFUVWinSvHVL2sn9EWg6+NLxLYfYcdPI0DV3bm4OTwO7nYP59FsY0QHn217MiaVdx2wCqknWh5UA4cIU5ISjovKabgHnE5Xjc7qE1jrh0/3Mh7bUQopb2G67ZJKW9tQltjw8feAG/qFPWgtgZujYA=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=svUIaAGPKOPIpR0olvaAsc6+N1knmkDxUROqflLbUs3nIXjTks1DV+9Ac45W/p7a+cb/JyLun6ZO0hAPxFhRS4Z9sDRD3acK9qbD/HAnKFC3Vn6qqmMMfCIOoBSNaYgCXPtkthcXJi6e/vjs29PIQhxnxUO23Y+SeVCNhnw+EY8=
Здравствуйте. Написал простенький handler, но почему-то не получается писать из него логи с помощью ngx_log_error. nginx запускается с директивой "daemon off"; в других местах (например в ngx_http_test_merge_loc_conf) ngx_log_error работает как надо.
Делал так. Когда встречается директива "mytest": static ngx_command_t ngx_http_test_commands[] = { // Install http-handler
{ ngx_string("mytest"), NGX_HTTP_MAIN_CONF|NGX_CONF_NOARGS, ngx_http_test_install_handler, // <<--------------------------------- NGX_HTTP_LOC_CONF_OFFSET, 0, NULL },
// ... ngx_null_command } Запускается установщик обработчика: static char* ngx_http_test_install_handler(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { ngx_http_core_loc_conf_t* clcf = static_cast<ngx_http_core_loc_conf_t*>(ngx_http_conf_get_module_loc_conf(cf, ngx_http_core_module));
clcf->handler = ngx_http_test_handler; return NGX_CONF_OK; } Сам же обработчик выгладит очень просто: static ngx_int_t ngx_http_test_handler(ngx_http_request_t *r) { ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "test"); // Это сообщение никогда не отображается
return NGX_OK; } Я где-то ошибся? Пробовал устанавливать обработчик через ngx_http_test_init - не помогло. -- С уважением, Сергей Самохин.