open Uwobo_common;;
(* debugging settings *)
-let debug = false;;
-let debug_level = `Notice;;
-let debug_print s = if debug then prerr_endline s;;
-Http_common.debug := false;;
-let logfile = Some "uwobo.log";; (* relative to execution dir *)
-let logfile_perm = 0o640;;
+let debug = false ;;
+let debug_level = `Notice ;;
+let debug_print s = if debug then prerr_endline s ;;
+Http_common.debug := false ;;
(* other settings *)
-let daemon_name = "UWOBO OCaml";;
-let default_port = 58080;;
-let port_env_var = "UWOBO_PORT";;
-let default_media_type = "text/html";;
-let default_encoding = "utf8";;
+let daemon_name = "UWOBO OCaml" ;;
+let default_log_file = "uwobo.log" ;; (* relative to execution dir *)
+let default_port = 58080 ;;
+let port_env_var = "UWOBO_PORT" ;;
+let default_media_type = "text/html" ;;
+let default_encoding = "utf8" ;;
+let logfile =
+ Some (try Sys.getenv "UWOBO_LOG_FILE" with Not_found -> default_log_file)
+;;
+let logfile_perm = 0o640 ;;
let port =
try
int_of_string (Sys.getenv port_env_var)
(** perform an 'action' that can be applied to a list of keys or, if no keys
was given, to all keys *)
-let act_on_keys keys_param styles logger per_key_action all_keys_action logmsg
+let act_on_keys
+ keys_param styles logger per_key_action all_keys_action all_keys logmsg
=
let keys =
try
in
match keys with
| [] -> (* no key provided, act on all stylesheets *)
- logger#log (sprintf "%s all stylesheets ..." logmsg);
- (try all_keys_action () with e -> logger#log (Printexc.to_string e))
+ logger#log (sprintf "%s all stylesheets (keys = %s) ..."
+ logmsg (String.concat ", " all_keys));
+ (try all_keys_action () with e -> logger#log (Printexc.to_string e));
+ logger#log (sprintf "Done! (all stylesheets)")
| keys ->
List.iter
(fun key -> (* act on a single stylesheet *)
logger#log (sprintf "%s stylesheet %s" logmsg key);
- (try per_key_action key with e -> logger#log (Printexc.to_string e)))
+ (try per_key_action key with e -> logger#log (Printexc.to_string e));
+ logger#log (sprintf "Done! (stylesheet %s)" key))
keys
;;
(* (1) system logger *)
let logger_outchan =
match logfile with
- | None -> stderr
+ | None ->
+ debug_print "Logging to standard error";
+ stderr
| Some f ->
+ debug_print (sprintf "Logging to file %s" f);
open_out_gen [Open_wronly; Open_append; Open_creat] logfile_perm f
in
let syslogger =
arg styles logger
(fun key -> log_libxslt_msgs logger (styles#remove key))
(fun () -> log_libxslt_msgs logger styles#removeAll)
+ styles#keys
"removing";
output_string res_pipe (logger#asHtml);
raise Restart_HTTP_daemon
arg styles logger
(fun key -> log_libxslt_msgs logger (styles#reload key))
(fun () -> log_libxslt_msgs logger styles#reloadAll)
+ styles#keys
"reloading";
output_string res_pipe (logger#asHtml);
raise Restart_HTTP_daemon