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
30
31
32
33
34
35
36
37
38
39
40
let app_style = `Cyan
let err_style = `Red
let warn_style = `Yellow
let info_style = `Blue
let debug_style = `Green
let pp_header ~pp_h ppf (l, h) = match l with
| Logs.App ->
begin match h with
| None -> ()
| Some h -> Fmt.pf ppf "[%a] " Fmt.(styled app_style string) h
end
| Logs.Error ->
pp_h ppf err_style (match h with None -> "ERROR" | Some h -> h)
| Logs.Warning ->
pp_h ppf warn_style (match h with None -> "WARNING" | Some h -> h)
| Logs.Info ->
pp_h ppf info_style (match h with None -> "INFO" | Some h -> h)
| Logs.Debug ->
pp_h ppf debug_style (match h with None -> "DEBUG" | Some h -> h)
let pp_exec_header =
let x = match Array.length Sys.argv with
| 0 -> Filename.basename Sys.executable_name
| n -> Filename.basename Sys.argv.(0)
in
let pp_h ppf style h = Fmt.pf ppf "%s: [%a] " x Fmt.(styled style string) h in
pp_header ~pp_h
let reporter ?(pp_header = pp_exec_header) ?app ?dst () =
Logs.format_reporter ~pp_header ?app ?dst ()
let pp_header =
let pp_h ppf style h = Fmt.pf ppf "[%a]" Fmt.(styled style string) h in
pp_header ~pp_h