Mercurial > hg > nginx
comparison src/core/ngx_log.c @ 448:241dc8092a33
nginx-0.1.0-2004-10-01-19:53:53 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 01 Oct 2004 15:53:53 +0000 |
parents | f26432a1935a |
children | 3b1e8c9df9ad |
comparison
equal
deleted
inserted
replaced
447:288f249897e7 | 448:241dc8092a33 |
---|---|
222 } | 222 } |
223 | 223 |
224 #endif | 224 #endif |
225 | 225 |
226 | 226 |
227 | 227 ngx_log_t *ngx_log_init_stderr() |
228 ngx_log_t *ngx_log_init_errlog() | 228 { |
229 { | |
230 ngx_fd_t fd; | |
231 | |
232 #if (WIN32) | 229 #if (WIN32) |
233 | 230 |
234 ngx_stderr.fd = GetStdHandle(STD_ERROR_HANDLE); | 231 ngx_stderr.fd = GetStdHandle(STD_ERROR_HANDLE); |
235 | 232 |
236 if (ngx_stderr.fd == NGX_INVALID_FILE) { | 233 if (ngx_stderr.fd == NGX_INVALID_FILE) { |
251 ngx_stderr.fd = STDERR_FILENO; | 248 ngx_stderr.fd = STDERR_FILENO; |
252 | 249 |
253 #endif | 250 #endif |
254 | 251 |
255 ngx_log.file = &ngx_stderr; | 252 ngx_log.file = &ngx_stderr; |
253 ngx_log.log_level = NGX_LOG_ERR; | |
254 | |
255 return &ngx_log; | |
256 } | |
257 | |
258 | |
259 ngx_int_t ngx_log_init_error_log() | |
260 { | |
261 ngx_fd_t fd; | |
256 | 262 |
257 #ifdef NGX_ERROR_LOG_PATH | 263 #ifdef NGX_ERROR_LOG_PATH |
258 | |
259 ngx_log.log_level = NGX_LOG_ERR; | |
260 | 264 |
261 fd = ngx_open_file(NGX_ERROR_LOG_PATH, NGX_FILE_RDWR, | 265 fd = ngx_open_file(NGX_ERROR_LOG_PATH, NGX_FILE_RDWR, |
262 NGX_FILE_CREATE_OR_OPEN|NGX_FILE_APPEND); | 266 NGX_FILE_CREATE_OR_OPEN|NGX_FILE_APPEND); |
263 | 267 |
264 if (fd == NGX_INVALID_FILE) { | 268 if (fd == NGX_INVALID_FILE) { |
265 ngx_log_error(NGX_LOG_EMERG, (&ngx_log), ngx_errno, | 269 ngx_log_error(NGX_LOG_EMERG, (&ngx_log), ngx_errno, |
266 ngx_open_file_n " \"" NGX_ERROR_LOG_PATH "\" failed"); | 270 ngx_open_file_n " \"" NGX_ERROR_LOG_PATH "\" failed"); |
267 return NULL; | 271 return NGX_ERROR; |
268 } | 272 } |
269 | 273 |
270 #if (WIN32) | 274 #if (WIN32) |
271 | 275 |
272 if (ngx_file_append_mode(fd) == NGX_ERROR) { | 276 if (ngx_file_append_mode(fd) == NGX_ERROR) { |
273 ngx_log_error(NGX_LOG_EMERG, (&ngx_log), ngx_errno, | 277 ngx_log_error(NGX_LOG_EMERG, (&ngx_log), ngx_errno, |
274 ngx_file_append_mode_n " \"" NGX_ERROR_LOG_PATH | 278 ngx_file_append_mode_n " \"" NGX_ERROR_LOG_PATH |
275 "\" failed"); | 279 "\" failed"); |
276 return NULL; | 280 return NGX_ERROR; |
277 } | 281 } |
278 | 282 |
279 #else | 283 #else |
280 | 284 |
281 if (dup2(fd, STDERR_FILENO) == NGX_ERROR) { | 285 if (dup2(fd, STDERR_FILENO) == NGX_ERROR) { |
282 ngx_log_error(NGX_LOG_EMERG, (&ngx_log), ngx_errno, | 286 ngx_log_error(NGX_LOG_EMERG, (&ngx_log), ngx_errno, |
283 "dup2(STDERR) failed"); | 287 "dup2(STDERR) failed"); |
284 return NULL; | 288 return NGX_ERROR; |
285 } | 289 } |
286 | 290 |
287 #endif | 291 #endif |
288 | 292 |
289 #else | 293 #else /* no NGX_ERROR_LOG_PATH */ |
290 | 294 |
291 ngx_log.log_level = NGX_LOG_INFO; | 295 ngx_log.log_level = NGX_LOG_INFO; |
292 | 296 |
293 #endif | 297 #endif |
294 | 298 |
295 return &ngx_log; | 299 return NGX_OK; |
296 } | 300 } |
297 | 301 |
298 | 302 |
299 ngx_log_t *ngx_log_create_errlog(ngx_cycle_t *cycle, ngx_array_t *args) | 303 ngx_log_t *ngx_log_create_errlog(ngx_cycle_t *cycle, ngx_array_t *args) |
300 { | 304 { |