*) refactor error_log processing: listen socket log might inherit built-in
error_log with zero level, and r2447, r2466, r2467 were not enough
*) remove bogus "stderr" level
*) some functions and fields renames
diff --git a/src/core/ngx_cycle.c b/src/core/ngx_cycle.c
index 15f8e8d..251892b 100644
--- a/src/core/ngx_cycle.c
+++ b/src/core/ngx_cycle.c
@@ -82,6 +82,7 @@
cycle->pool = pool;
cycle->log = log;
+ cycle->new_log.log_level = NGX_LOG_ERR;
cycle->old_cycle = old_cycle;
cycle->conf_prefix.len = old_cycle->conf_prefix.len;
@@ -165,14 +166,6 @@
return NULL;
}
-
- cycle->new_log = ngx_log_create_errlog(cycle, &error_log);
- if (cycle->new_log == NULL) {
- ngx_destroy_pool(pool);
- return NULL;
- }
-
-
n = old_cycle->listening.nelts ? old_cycle->listening.nelts : 10;
cycle->listening.elts = ngx_pcalloc(pool, n * sizeof(ngx_listening_t));
@@ -336,6 +329,13 @@
}
+ if (cycle->new_log.file == NULL) {
+ cycle->new_log.file = ngx_conf_open_file(cycle, &error_log);
+ if (cycle->new_log.file == NULL) {
+ goto failed;
+ }
+ }
+
/* open the new files */
part = &cycle->open_files.part;
@@ -382,12 +382,8 @@
#endif
}
- cycle->log = cycle->new_log;
- pool->log = cycle->new_log;
-
- if (cycle->log->log_level == 0) {
- cycle->log->log_level = NGX_LOG_ERR;
- }
+ cycle->log = &cycle->new_log;
+ pool->log = &cycle->new_log;
/* create shared memory */