changeset 4541:2e7ac96049b8

The "error_log" directive specified in the "http", "server", and "location" sections now understands the special "stderr" parameter. It was already treated specially when specified in the main section.
author Ruslan Ermilov <ru@nginx.com>
date Thu, 15 Mar 2012 20:04:50 +0000
parents cab9aa79256c
children 586969d972b9
files src/http/ngx_http_core_module.c
diffstat 1 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -4647,7 +4647,7 @@ ngx_http_core_error_log(ngx_conf_t *cf, 
 {
     ngx_http_core_loc_conf_t *clcf = conf;
 
-    ngx_str_t  *value;
+    ngx_str_t  *value, name;
 
     if (clcf->error_log) {
         return "is duplicate";
@@ -4655,7 +4655,14 @@ ngx_http_core_error_log(ngx_conf_t *cf, 
 
     value = cf->args->elts;
 
-    clcf->error_log = ngx_log_create(cf->cycle, &value[1]);
+    if (ngx_strcmp(value[1].data, "stderr") == 0) {
+        ngx_str_null(&name);
+
+    } else {
+        name = value[1];
+    }
+
+    clcf->error_log = ngx_log_create(cf->cycle, &name);
     if (clcf->error_log == NULL) {
         return NGX_CONF_ERROR;
     }