mte/unikernel/duniverse/logs/test/test_multi.ml
2025-11-11 02:07:51 +01:00

18 lines
494 B
OCaml

(* This code is in the public domain. *)
(* Example for installing multiple reporters. *)
let combine r1 r2 =
let report = fun src level ~over k msgf ->
let v = r1.Logs.report src level ~over:(fun () -> ()) k msgf in
r2.Logs.report src level ~over (fun () -> v) msgf
in
{ Logs.report }
let () =
let r1 = Logs.format_reporter () in
let r2 = Logs_fmt.reporter () in
Fmt_tty.setup_std_outputs ();
Logs.set_reporter (combine r1 r2);
Logs.err (fun m -> m "HEY HO!");
()