diff options
author | Igor Sysoev <igor@sysoev.ru> | 2004-09-29 00:09:22 +0400 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2004-09-29 00:09:22 +0400 |
commit | 55168f6b6bca2d9aafc11ada25b514f7ac99d34f (patch) | |
tree | 8eb8853ebf981ab6a452736f527bcbc60132625c /src/core | |
parent | e0eaacd795530fa5c697594cdde4caa1e826efab (diff) |
nginx-0.1.0-2004-09-29-00:09:22 import
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/nginx.c | 19 | ||||
-rw-r--r-- | src/core/ngx_log.c | 34 |
2 files changed, 48 insertions, 5 deletions
diff --git a/src/core/nginx.c b/src/core/nginx.c index 920b60163..236a65b0f 100644 --- a/src/core/nginx.c +++ b/src/core/nginx.c @@ -95,6 +95,8 @@ ngx_module_t ngx_core_module = { ngx_uint_t ngx_max_module; +ngx_uint_t ngx_use_stderr; + int main(int argc, char *const *argv) { @@ -116,9 +118,10 @@ int main(int argc, char *const *argv) ngx_regex_init(); #endif - log = ngx_log_init_errlog(); ngx_pid = ngx_getpid(); + log = ngx_log_init_errlog(); + #if (NGX_OPENSSL) ngx_ssl_init(log); #endif @@ -133,15 +136,19 @@ int main(int argc, char *const *argv) ctx.argc = argc; ctx.argv = argv; - if (ngx_os_init(log) == NGX_ERROR) { + if (!(init_cycle.pool = ngx_create_pool(1024, log))) { return 1; } - if (!(init_cycle.pool = ngx_create_pool(1024, log))) { + if (ngx_getopt(&ctx, &init_cycle) == NGX_ERROR) { return 1; } - if (ngx_getopt(&ctx, &init_cycle) == NGX_ERROR) { + if (ngx_use_stderr) { + log = ngx_log_init_errlog(); + } + + if (ngx_os_init(log) == NGX_ERROR) { return 1; } @@ -319,6 +326,10 @@ static ngx_int_t ngx_getopt(ngx_master_ctx_t *ctx, ngx_cycle_t *cycle) ngx_test_config = 1; break; + case 's': + ngx_use_stderr = 1; + break; + case 'c': if (ctx->argv[i + 1] == NULL) { ngx_log_error(NGX_LOG_EMERG, cycle->log, 0, diff --git a/src/core/ngx_log.c b/src/core/ngx_log.c index b23d8bba1..be899e3f7 100644 --- a/src/core/ngx_log.c +++ b/src/core/ngx_log.c @@ -259,6 +259,8 @@ void ngx_log_stderr(ngx_event_t *ev) ngx_log_t *ngx_log_init_errlog() { + ngx_fd_t fd; + #if (WIN32) ngx_stderr.fd = GetStdHandle(STD_ERROR_HANDLE); @@ -283,7 +285,37 @@ ngx_log_t *ngx_log_init_errlog() #endif ngx_log.file = &ngx_stderr; - ngx_log.log_level = NGX_LOG_INFO; + ngx_log.log_level = NGX_LOG_ERR; + +#if 0 + fd = ngx_open_file(NGX_ERROR_LOG_PATH, NGX_FILE_RDWR, + NGX_FILE_CREATE_OR_OPEN|NGX_FILE_APPEND); + + if (fd == NGX_INVALID_FILE) { + ngx_log_error(NGX_LOG_EMERG, (&ngx_log), ngx_errno, + ngx_open_file_n " \"" NGX_ERROR_LOG_PATH "\" failed"); + return NULL; + } + +#if (WIN32) + + if (ngx_file_append_mode(fd) == NGX_ERROR) { + ngx_log_error(NGX_LOG_EMERG, (&ngx_log), ngx_errno, + ngx_file_append_mode_n " \"" NGX_ERROR_LOG_PATH + "\" failed"); + return NULL; + } + +#else + + if (dup2(fd, STDERR_FILENO) == NGX_ERROR) { + ngx_log_error(NGX_LOG_EMERG, (&ngx_log), ngx_errno, + "dup2(STDERR) failed"); + return NULL; + } + +#endif +#endif return &ngx_log; } |