Mercurial > hg > nginx
comparison src/core/ngx_log.c @ 6:669801705ab1
nginx-0.0.1-2002-08-26-19:18:19 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 26 Aug 2002 15:18:19 +0000 |
parents | d220029ac7f3 |
children | 708f8bb772ec |
comparison
equal
deleted
inserted
replaced
5:62b1a364857c | 6:669801705ab1 |
---|---|
35 #if (HAVE_VARIADIC_MACROS) | 35 #if (HAVE_VARIADIC_MACROS) |
36 va_list args; | 36 va_list args; |
37 #endif | 37 #endif |
38 | 38 |
39 ngx_localtime(&tm); | 39 ngx_localtime(&tm); |
40 len = ngx_snprintf(errstr, sizeof(errstr), "%02d:%02d:%02d", | 40 len = ngx_snprintf(errstr, sizeof(errstr), "%4d/%02d/%02d %02d:%02d:%02d", |
41 tm.ngx_tm_year + 1900, tm.ngx_tm_mon, tm.ngx_tm_mday, | |
41 tm.ngx_tm_hour, tm.ngx_tm_min, tm.ngx_tm_sec); | 42 tm.ngx_tm_hour, tm.ngx_tm_min, tm.ngx_tm_sec); |
42 | 43 |
43 if (err) { | 44 len += ngx_snprintf(errstr + len, sizeof(errstr) - len - 1, |
44 if ((unsigned) err < 0x80000000) | 45 " [%s] ", err_levels[level]); |
45 len += ngx_snprintf(errstr + len, sizeof(errstr) - len - 1, | |
46 " [%s] (%d)", | |
47 err_levels[level], err); | |
48 else | |
49 len += ngx_snprintf(errstr + len, sizeof(errstr) - len - 1, | |
50 " [%s] (%X)", | |
51 err_levels[level], err); | |
52 | 46 |
53 len += ngx_strerror_r(err, errstr + len, sizeof(errstr) - len - 1); | 47 len += ngx_snprintf(errstr + len, sizeof(errstr) - len - 1, |
54 if (len < sizeof(errstr) - 2) { | 48 "%d#%d: ", getpid(), 0); |
55 errstr[len++] = ':'; | |
56 errstr[len++] = ' '; | |
57 } else { | |
58 len = sizeof(errstr) - 2; | |
59 } | |
60 | |
61 } else { | |
62 len += ngx_snprintf(errstr + len, sizeof(errstr) - len - 1, | |
63 " [%s] ", err_levels[level]); | |
64 } | |
65 | 49 |
66 #if (HAVE_VARIADIC_MACROS) | 50 #if (HAVE_VARIADIC_MACROS) |
67 va_start(args, fmt); | 51 va_start(args, fmt); |
68 len += ngx_vsnprintf(errstr + len, sizeof(errstr) - len - 1, fmt, args); | 52 len += ngx_vsnprintf(errstr + len, sizeof(errstr) - len - 1, fmt, args); |
69 va_end(args); | 53 va_end(args); |
70 #else | 54 #else |
71 len += ngx_vsnprintf(errstr + len, sizeof(errstr) - len - 1, fmt, args); | 55 len += ngx_vsnprintf(errstr + len, sizeof(errstr) - len - 1, fmt, args); |
72 #endif | 56 #endif |
73 | 57 |
58 if (err) { | |
59 if ((unsigned) err < 0x80000000) | |
60 len += ngx_snprintf(errstr + len, sizeof(errstr) - len - 1, | |
61 " (%d: ", err); | |
62 else | |
63 len += ngx_snprintf(errstr + len, sizeof(errstr) - len - 1, | |
64 " (%X: ", err); | |
65 | |
66 len += ngx_strerror_r(err, errstr + len, sizeof(errstr) - len - 1); | |
67 if (len < sizeof(errstr) - 2) { | |
68 errstr[len++] = ')'; | |
69 } else { | |
70 len = sizeof(errstr) - 2; | |
71 } | |
72 } | |
73 | |
74 if (level != NGX_LOG_DEBUG && log->handler) | |
75 len += log->handler(log->data, errstr + len, sizeof(errstr) - len - 1); | |
76 | |
74 if (len > sizeof(errstr) - 2) | 77 if (len > sizeof(errstr) - 2) |
75 len = sizeof(errstr) - 2; | 78 len = sizeof(errstr) - 2; |
76 errstr[len] = '\n'; | 79 errstr[len] = '\n'; |
77 errstr[len + 1] = '\0'; | 80 errstr[len + 1] = '\0'; |
78 | 81 |
79 fputs(errstr, stderr); | 82 fputs(errstr, stderr); |
80 | |
81 if (level == NGX_LOG_EMERG) | |
82 exit(1); | |
83 } | 83 } |
84 | 84 |
85 #if !(HAVE_VARIADIC_MACROS) | 85 #if !(HAVE_VARIADIC_MACROS) |
86 | 86 |
87 void ngx_log_error(int level, ngx_log_t *log, ngx_err_t err, | 87 void ngx_log_error(int level, ngx_log_t *log, ngx_err_t err, |