ccodes=(30 31 32 33 34 35 36 37 39)
*)
-let green = "\e[01;32m"
-let blue = "\e[01;34m"
-let yellow = "\e[01;33m"
-let red = "\e[01;31m"
-let black = "\e[0;0m"
+let blue = "\e[0;34m"
+let yellow = "\e[0;33m"
+let green = "\e[0;32m"
+let red = "\e[0;31m"
+let black = "\e[0m"
let default_callback tag s =
- let prefix =
+ let prefix,ch =
match tag with
- | `Message -> green ^ "Info: "
- | `Warning -> yellow ^ "Warn: "
- | `Error -> red ^ "Error: "
- | `Debug -> blue ^ "Debug: "
+ | `Message -> green ^ "Info: ", stdout
+ | `Warning -> yellow ^ "Warn: ", stderr
+ | `Error -> red ^ "Error: ", stderr
+ | `Debug -> blue ^ "Debug: ", stderr
in
- print_endline (prefix ^ black ^ s);
- flush stdout
+ output_string ch (prefix ^ black ^ s ^ "\n");
+ flush ch
let callback = ref default_callback
let set_log_callback f = callback := f
+let get_log_callback () = !callback
let message s = !callback `Message s
let warn s = !callback `Warning s