apache: update rewriteLogLevel for Apache 2.4 release_20190107-1 release_20190109
authorClinton Ebadi <clinton@unknownlamer.org>
Tue, 8 Jan 2019 03:25:39 +0000 (22:25 -0500)
committerClinton Ebadi <clinton@unknownlamer.org>
Tue, 8 Jan 2019 03:25:39 +0000 (22:25 -0500)
Apache 2.4 removes RewriteLog, and instead makes LogLevel work
generically with modules.

Restrict trace levels to 0..8, Apache rejects the config for anything
but trace{1..8}.

lib/mod_rewrite.dtl
src/plugins/apache.sml

index c41105d..ce0436c 100644 (file)
@@ -69,6 +69,11 @@ extern val localProxyRewrite : no_spaces -> no_spaces -> proxy_port -> [^Vhost];
   the new URI by substituting variables in the second argument as per Apache
   mod_rewrite.}}
 
-extern val rewriteLogLevel : int -> [Vhost];
-{{See <a href="http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriteloglevel">Apache
-  documentation for <tt>RewriteLogLevel</tt></a>.}}
+extern type mod_rewrite_trace_level;
+{{A mod_rewrite log level, between 0 and 8. 2 or 3 are useful for
+  debugging, higher will slow down apache considerably. 0 disables
+  rewrite logging.}}
+
+extern val rewriteLogLevel : mod_rewrite_trace_level -> [Vhost];
+{{See <a href="https://httpd.apache.org/docs/current/mod/mod_rewrite.html#logging">
+  documentation for <tt>mod_rewrite log levels</tt></a>.}}
index 20bd7ed..451cd67 100644 (file)
@@ -762,15 +762,20 @@ val () = Env.action_one "rewriteBase"
              write prefix;
              write "\"\n"))
 
+val _ = Env.type_one "mod_rewrite_trace_level"
+       Env.int
+       (fn n => n > 0 andalso n <= 8)
+
 val () = Env.action_one "rewriteLogLevel"
         ("level", Env.int)
-        (fn level =>
+        (fn 0 =>
             (checkRewrite ();
-             write "\tRewriteLog ";
-             write' (fn x => x);
-             write "/rewrite.log\n\tRewriteLogLevel ";
-             write (Int.toString level);
-             write "\n"))
+             write "\tLogLevel rewrite:warn\n")
+        | level =>
+          (checkRewrite ();
+           write "\tLogLevel rewrite:trace";
+           write (Int.toString level);
+           write "\n"))
 
 val () = Env.action_two "alias"
         ("from", Env.string, "to", Env.string)