]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
core: Use the main ErrorLogFormat for ap_log_perror() and while loading vhosts.
authorYann Ylavic <ylavic@apache.org>
Tue, 14 Mar 2023 14:37:00 +0000 (14:37 +0000)
committerYann Ylavic <ylavic@apache.org>
Tue, 14 Mar 2023 14:37:00 +0000 (14:37 +0000)
* server/core.c(create_core_server_config):
  Init sconf->error_log_format early so that it applies while the vhost
  is loading.

* server/log.c(log_error_core):
  Get the core_server_config from the main server if no server/config is
  provided.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1908388 13f79535-47bb-0310-9956-ffa450edef68

server/core.c
server/log.c

index 75b25ac4e8b81cc5dc4291dedbf231dd43a68cbd..1e16f03a9e6e859bbd6f0f0c6cf03fbe859fa7de 100644 (file)
@@ -493,6 +493,11 @@ static void *create_core_server_config(apr_pool_t *a, server_rec *s)
         conf->flush_max_pipelined = AP_FLUSH_MAX_PIPELINED;
     }
     else {
+        /* Use main ErrorLogFormat while the vhost is loading */
+        core_server_config *main_conf =
+            ap_get_core_module_config(ap_server_conf->module_config);
+        conf->error_log_format = main_conf->error_log_format;
+
         conf->flush_max_pipelined = -1;
     }
 
index f3347d98346e591d4d4589e67aba2bf11867b951..6beb03a701a2e69731dac90d8b3776eb163ac5f7 100644 (file)
@@ -1098,6 +1098,9 @@ static void log_error_core(const char *file, int line, int module_index,
             errorlog_provider = ap_server_conf->errorlog_provider;
             errorlog_provider_handle = ap_server_conf->errorlog_provider_handle;
         }
+
+        /* Use the main ErrorLogFormat if any */
+        sconf = ap_get_core_module_config(ap_server_conf->module_config);
     }
     else {
         int configured_level = r ? ap_get_request_module_loglevel(r, module_index)        :
@@ -1145,6 +1148,10 @@ static void log_error_core(const char *file, int line, int module_index,
                 }
             }
         }
+        else {
+            /* Use the main ErrorLogFormat if any */
+            sconf = ap_get_core_module_config(ap_server_conf->module_config);
+        }
     }
 
     if (!logf && !(errorlog_provider && errorlog_provider_handle)) {
@@ -1215,7 +1222,7 @@ static void log_error_core(const char *file, int line, int module_index,
             info.file         = file;
             info.line         = line;
             info.status       = status;
-            log_format = sconf ? sconf->error_log_format : NULL;
+            log_format = sconf->error_log_format;
             done = 1;
         }