Module B0_std.Log

type level =
  1. | Quiet
  2. | App
  3. | Error
  4. | Warning
  5. | Info
  6. | Debug
val level : unit -> level
val set_level : level -> unit
val pp_level : level Fmt.t
val level_to_string : level -> string
val level_of_string : string -> (level, string) result
type (!'a, !'b) msgf = (?header:string -> ('a, Format.formatter, unit, 'b) format4 -> 'a) -> 'b
type !'a log = ('a, unit) msgf -> unit
val msg : level -> 'a log
val quiet : 'a log
val app : 'a log
val err : 'a log
val warn : 'a log
val info : 'a log
val debug : 'a log
val kmsg : (unit -> 'b) -> level -> ('a, 'b) msgf -> 'b
val if_error : ?level:level -> ?header:string -> use:'a -> ('a, string) result -> 'a
val if_error' : ?level:level -> ?header:string -> use:'a -> ('a, string) result -> ('a, 'b) result
val if_error_pp : ?level:level -> ?header:string -> 'b Fmt.t -> use:'a -> ('a, 'b) result -> 'a
val if_error_pp' : ?level:level -> ?header:string -> 'b Fmt.t -> use:'a -> ('a, 'b) result -> ('a, 'b) result
val time : ?level:level -> ('a -> (('b, Format.formatter, unit, 'a) format4 -> 'b) -> 'a) -> (unit -> 'a) -> 'a
val spawn_tracer : level -> Os.Cmd.spawn_tracer
val err_count : unit -> int
val warn_count : unit -> int
type kmsg = {
  1. kmsg : 'a 'b. (unit -> 'b) -> level -> ('a, 'b) msgf -> 'b;
}
val kmsg_nop : kmsg
val kmsg_default : kmsg
val set_kmsg : kmsg -> unit