Mercurial > hg > nginx
diff src/core/ngx_log.c @ 36:c14d7232b11f
nginx-0.0.1-2002-12-23-09:29:22 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 23 Dec 2002 06:29:22 +0000 |
parents | a117a7fdf042 |
children | a7e45c45a95c |
line wrap: on
line diff
--- a/src/core/ngx_log.c +++ b/src/core/ngx_log.c @@ -13,6 +13,7 @@ #include <ngx_config.h> #include <ngx_errno.h> #include <ngx_time.h> +#include <ngx_process.h> #include <ngx_string.h> #include <ngx_log.h> @@ -44,12 +45,9 @@ void ngx_log_error_core(int level, ngx_l len += ngx_snprintf(errstr + len, sizeof(errstr) - len - 1, " [%s] ", err_levels[level]); + /* pid#tid */ len += ngx_snprintf(errstr + len, sizeof(errstr) - len - 1, -#if (WIN32) - "%d#%d: ", 0, 0); -#else - "%d#%d: ", getpid(), 0); -#endif + "%d#%d: ", ngx_getpid(), 0); #if (HAVE_VARIADIC_MACROS) va_start(args, fmt); @@ -60,12 +58,14 @@ void ngx_log_error_core(int level, ngx_l #endif if (err) { - if ((unsigned) err < 0x80000000) +#if (WIN32) + if ((unsigned) err >= 0x80000000) len += ngx_snprintf(errstr + len, sizeof(errstr) - len - 1, - " (%d: ", err); + " (%X: ", err); else +#endif len += ngx_snprintf(errstr + len, sizeof(errstr) - len - 1, - " (%X: ", err); + " (%d: ", err); len += ngx_strerror_r(err, errstr + len, sizeof(errstr) - len - 1); if (len < sizeof(errstr) - 2) { @@ -75,16 +75,26 @@ void ngx_log_error_core(int level, ngx_l } } - if (level != NGX_LOG_DEBUG && log->handler) + if (level != NGX_LOG_DEBUG && log->handler) { len += log->handler(log->data, errstr + len, sizeof(errstr) - len - 1); + } + + if (len > sizeof(errstr) - 2) { + len = sizeof(errstr) - 2; + } - if (len > sizeof(errstr) - 2) - len = sizeof(errstr) - 2; - errstr[len] = '\n'; - errstr[len + 1] = '\0'; +#if (WIN32) + errstr[len++] = '\r'; +#endif + errstr[len++] = '\n'; + write(2, errstr, len); + +#if 0 + errstr[len] = '\0'; fputs(errstr, stderr); fflush(stderr); +#endif } #if !(HAVE_VARIADIC_MACROS)