diff -r -u3 httpd-2_0_18.old/include/http_config.h httpd-2_0_18/include/http_config.h
--- httpd-2_0_18.old/include/http_config.h	Sun May 13 08:21:25 2001
+++ httpd-2_0_18/include/http_config.h	Sun Aug 26 22:50:11 2001
@@ -1004,6 +1004,22 @@
  */
 AP_DECLARE_HOOK(void,open_logs,(apr_pool_t *pconf,apr_pool_t *plog,apr_pool_t *ptemp,server_rec *s))
 
+/** 
+ * Run the log_error functions for each module
+ * @param file The file the error is occuring in
+ * @param line The line the error occured on
+ * @param level The severity level of the error
+ * @param s The server 
+ * @param r The request
+ * @param pool the pool
+ * @param fmt The format string for the error
+ * @param args The arguments for the format
+ */
+AP_DECLARE_HOOK(void, log_error, (const char *file, int line,
+            int level, apr_status_t status,
+            const server_rec *s,
+            const request_rec *r, apr_pool_t *pool,
+            const char *fmt, va_list args));
 /**
  * Run the child_init functions for each module
  * @param pchild The child pool
diff -r -u3 httpd-2_0_18.old/include/http_log.h httpd-2_0_18/include/http_log.h
--- httpd-2_0_18.old/include/http_log.h	Thu May  3 19:39:43 2001
+++ httpd-2_0_18/include/http_log.h	Sun Aug 26 17:07:46 2001
@@ -126,6 +126,23 @@
  */
 void ap_open_logs (server_rec *s_main, apr_pool_t *p);
 
+/** 
+ * The core error logging function
+ * @param file The file the error is occuring in
+ * @param line The line the error occured on
+ * @param level The severity level of the error
+ * @param s The server
+ * @param r The request
+ * @param pool the pool
+ * @param fmt The format string for the error
+ * @param args The arguments for the format
+ */
+
+void ap_log_error_core(const char *file, int line, int level,
+                           apr_status_t status, const server_rec *s,
+                           const request_rec *r, apr_pool_t *pool,
+                           const char *fmt, va_list args);
+
 /* 
  * The three primary logging functions, ap_log_error, ap_log_rerror, and 
  * ap_log_perror use a printf style format string to build the log message.  
diff -r -u3 httpd-2_0_18.old/server/config.c httpd-2_0_18/server/config.c
--- httpd-2_0_18.old/server/config.c	Fri May 11 19:33:46 2001
+++ httpd-2_0_18/server/config.c	Sun Aug 26 22:50:46 2001
@@ -110,9 +110,10 @@
 	       APR_HOOK_LINK(pre_config)
 	       APR_HOOK_LINK(post_config)
 	       APR_HOOK_LINK(open_logs)
+	       APR_HOOK_LINK(log_error)
 	       APR_HOOK_LINK(child_init)
 	       APR_HOOK_LINK(handler)
-               APR_HOOK_LINK(quick_handler)
+           APR_HOOK_LINK(quick_handler)
 	       APR_HOOK_LINK(optional_fn_retrieve)
 )
 
@@ -127,6 +128,12 @@
 AP_IMPLEMENT_HOOK_VOID(open_logs,
 		       (apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, 
                         server_rec *s),(pconf,plog,ptemp,s))
+AP_IMPLEMENT_HOOK_VOID(log_error, (const char *file, int line, 
+						int level, apr_status_t status, 
+						const server_rec *s,
+						const request_rec *r, apr_pool_t *pool,
+						const char *fmt, va_list args), 
+				(file, line, level, status, s, r, pool, fmt, args));
 AP_IMPLEMENT_HOOK_VOID(child_init,
                        (apr_pool_t *pchild, server_rec *s),(pchild,s))
 
diff -r -u3 httpd-2_0_18.old/server/core.c httpd-2_0_18/server/core.c
--- httpd-2_0_18.old/server/core.c	Sun May  6 19:27:13 2001
+++ httpd-2_0_18/server/core.c	Sun Aug 26 22:44:37 2001
@@ -3263,6 +3263,14 @@
     ap_open_logs(s, pconf);
 }
 
+static void core_log_error(const char *file, int line, int level,
+                           apr_status_t status, const server_rec *s,
+                           const request_rec *r, apr_pool_t *pool,
+                           const char *fmt, va_list args)
+{
+	ap_log_error_core(file, line, level, status, s, r, pool, fmt, args);
+}
+
 static void core_insert_filter(request_rec *r)
 {
     int i;
@@ -3304,6 +3312,7 @@
     ap_hook_post_config(core_post_config,NULL,NULL,APR_HOOK_REALLY_FIRST);
     ap_hook_translate_name(ap_core_translate,NULL,NULL,APR_HOOK_REALLY_LAST);
     ap_hook_open_logs(core_open_logs,NULL,NULL,APR_HOOK_MIDDLE);
+	ap_hook_log_error(ap_log_error_core, NULL, NULL, APR_HOOK_REALLY_LAST);
     ap_hook_handler(default_handler,NULL,NULL,APR_HOOK_REALLY_LAST);
     /* FIXME: I suspect we can eliminate the need for these - Ben */
     ap_hook_type_checker(do_nothing,NULL,NULL,APR_HOOK_REALLY_LAST);
diff -r -u3 httpd-2_0_18.old/server/log.c httpd-2_0_18/server/log.c
--- httpd-2_0_18.old/server/log.c	Thu May 17 08:10:22 2001
+++ httpd-2_0_18/server/log.c	Sun Aug 26 22:41:47 2001
@@ -328,7 +328,7 @@
     }
 }
 
-static void log_error_core(const char *file, int line, int level, 
+void ap_log_error_core(const char *file, int line, int level, 
                            apr_status_t status, const server_rec *s, 
                            const request_rec *r, apr_pool_t *pool,
                            const char *fmt, va_list args)
@@ -464,7 +464,7 @@
     va_list args;
 
     va_start(args, fmt);
-    log_error_core(file, line, level, status, s, NULL, NULL, fmt, args);
+		ap_run_log_error(file, line, level, status, s, NULL, NULL, fmt, args);
     va_end(args);
 }
 
@@ -475,7 +475,7 @@
     va_list args;
 
     va_start(args, fmt);
-    log_error_core(file, line, level, status, NULL, NULL, p, fmt, args);
+		ap_run_log_error(file, line, level, status, NULL, NULL, p, fmt, args);
     va_end(args);
 }
 
@@ -486,7 +486,7 @@
     va_list args;
 
     va_start(args, fmt);
-    log_error_core(file, line, level, status, r->server, r, NULL, fmt, args);
+	ap_run_log_error(file, line, level, status, r->server, r, NULL, fmt, args);
     /*
      * IF the error level is 'warning' or more severe,
      * AND there isn't already error text associated with this request,
