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,