+let set_tracer s =
+ List.iter (fun t ->
+ if t = "" then ()
+ else
+ match String.explode t ':' with
+ [ tr; lvl ] ->
+ let l = try int_of_string lvl with _ -> raise (Arg.Bad (lvl)) in
+ if Tracer.is_tracer tr then Tracer.activate tr l
+ else raise (Arg.Bad (t))
+ | _ -> raise (Arg.Bad (t))
+ ) (String.explode s ',')
+
+let pretty_tracers () =
+ ignore(flush_str_formatter());
+ Pretty.print_list
+ ~sep:", "
+ (fun f s -> fprintf f "%s" s)
+ str_formatter
+ (Tracer.available ());
+ flush_str_formatter ()
+