1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
let main_src = Logs.Src.create "owi" ~doc:"Owi's main logs"
let bench_src = Logs.Src.create "owi-bench" ~doc:"Owi's benchmark logs"
include (val Logs.src_log main_src : Logs.LOG)
let is_bench_enabled () =
match Logs.Src.level bench_src with None -> false | Some _ -> true
let bench_fn str fn =
match Logs.Src.level bench_src with
| None -> fn ()
| Some _ ->
let c = Mtime_clock.counter () in
let r = fn () in
Logs.info ~src:bench_src (fun m ->
m "%s : %a" str Mtime.Span.pp (Mtime_clock.count c) );
r
let bench f =
match Logs.Src.level bench_src with
| None -> ()
| Some _ -> Logs.info ~src:bench_src f
let setup style_renderer level ~bench =
Fmt_tty.setup_std_outputs ?style_renderer ();
Logs.Src.set_level main_src level;
Logs.Src.set_level bench_src (if bench then Some Logs.Info else None);
Logs.set_reporter (Logs.format_reporter ())