Mercurial > hg > nginx-quic
comparison src/core/ngx_log.c @ 119:cd54bcbaf3b5
nginx-0.0.1-2003-07-21-01:15:59 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 20 Jul 2003 21:15:59 +0000 |
parents | 571bcbff82c5 |
children | b75602822f64 |
comparison
equal
deleted
inserted
replaced
118:5bf52498665c | 119:cd54bcbaf3b5 |
---|---|
67 #endif | 67 #endif |
68 #if (WIN32) | 68 #if (WIN32) |
69 int written; | 69 int written; |
70 #endif | 70 #endif |
71 | 71 |
72 if (log->file->fd == NGX_INVALID_FILE) { | |
73 return; | |
74 } | |
75 | |
72 ngx_localtime(&tm); | 76 ngx_localtime(&tm); |
73 len = ngx_snprintf(errstr, sizeof(errstr), "%4d/%02d/%02d %02d:%02d:%02d", | 77 len = ngx_snprintf(errstr, sizeof(errstr), "%4d/%02d/%02d %02d:%02d:%02d", |
74 tm.ngx_tm_year, tm.ngx_tm_mon, tm.ngx_tm_mday, | 78 tm.ngx_tm_year, tm.ngx_tm_mon, tm.ngx_tm_mday, |
75 tm.ngx_tm_hour, tm.ngx_tm_min, tm.ngx_tm_sec); | 79 tm.ngx_tm_hour, tm.ngx_tm_min, tm.ngx_tm_sec); |
76 | 80 |
119 if (len > sizeof(errstr) - 2) { | 123 if (len > sizeof(errstr) - 2) { |
120 len = sizeof(errstr) - 2; | 124 len = sizeof(errstr) - 2; |
121 } | 125 } |
122 | 126 |
123 #if (WIN32) | 127 #if (WIN32) |
124 errstr[len++] = '\r'; | 128 |
125 errstr[len++] = '\n'; | 129 errstr[len++] = CR; |
126 if (log->file->fd) { | 130 errstr[len++] = LF; |
127 WriteFile(log->file->fd, errstr, len, &written, NULL); | 131 WriteFile(log->file->fd, errstr, len, &written, NULL); |
128 } | 132 |
129 #else | 133 #else |
130 errstr[len++] = '\n'; | 134 |
135 errstr[len++] = LF; | |
131 write(log->file->fd, errstr, len); | 136 write(log->file->fd, errstr, len); |
132 #endif | 137 |
133 | |
134 | |
135 #if 0 | |
136 errstr[len] = '\0'; | |
137 fputs(errstr, stderr); | |
138 fflush(stderr); | |
139 #endif | 138 #endif |
140 } | 139 } |
141 | 140 |
142 | 141 |
143 #if !(HAVE_VARIADIC_MACROS) | 142 #if !(HAVE_VARIADIC_MACROS) |
223 return NULL; | 222 return NULL; |
224 | 223 |
225 } else if (ngx_stderr.fd == NULL) { | 224 } else if (ngx_stderr.fd == NULL) { |
226 /* there are no associated standard handles */ | 225 /* there are no associated standard handles */ |
227 /* TODO: where we can log possible errors ? */ | 226 /* TODO: where we can log possible errors ? */ |
227 | |
228 ngx_stderr.fd = NGX_INVALID_FILE; | |
228 } | 229 } |
229 | 230 |
230 #else | 231 #else |
231 | 232 |
232 ngx_stderr.fd = STDERR_FILENO; | 233 ngx_stderr.fd = STDERR_FILENO; |
244 ngx_log_t *ngx_log_create_errlog(ngx_cycle_t *cycle, ngx_str_t *name) | 245 ngx_log_t *ngx_log_create_errlog(ngx_cycle_t *cycle, ngx_str_t *name) |
245 { | 246 { |
246 ngx_log_t *log; | 247 ngx_log_t *log; |
247 | 248 |
248 ngx_test_null(log, ngx_pcalloc(cycle->pool, sizeof(ngx_log_t)), NULL); | 249 ngx_test_null(log, ngx_pcalloc(cycle->pool, sizeof(ngx_log_t)), NULL); |
249 ngx_test_null(log->file, ngx_push_array(&cycle->open_files), NULL); | 250 ngx_test_null(log->file, ngx_conf_open_file(cycle, name), NULL); |
250 log->file->fd = NGX_INVALID_FILE; | 251 |
251 if (name) { | 252 /* STUB */ log->log_level = NGX_LOG_DEBUG; |
252 log->file->name = *name; | |
253 } | |
254 | 253 |
255 return log; | 254 return log; |
256 } | 255 } |
257 | 256 |
258 | 257 |