type level = | App| Error| Warning| Info| Debug
val level : unit -> level optionval set_level : ?all:bool -> level option -> unitval level_to_string : level option -> stringval level_of_string : string -> (level option, [ `Msg of string ]) resulttype !'a log = ('a, unit) msgf -> unitval debug : ?src:src -> 'a logval kmsg : (unit -> 'b) -> ?src:src -> level -> ('a, 'b) msgf -> 'bval on_error_msg :
?src:src ->
?level:level ->
?header:string ->
?tags:Tag.set ->
use:(unit -> 'a) ->
('a, [ `Msg of string ]) result ->
'amodule type LOG = sig ... endval src_log : src -> (module LOG)type reporter = {report : 'a 'b. src ->
level ->
over:(unit -> unit) ->
(unit -> 'b) ->
('a, 'b) msgf ->
'b;
}val set_reporter_mutex : lock:(unit -> unit) -> unlock:(unit -> unit) -> unitval report :
src ->
level ->
over:(unit -> unit) ->
(unit -> 'b) ->
('a, 'b) msgf ->
'bval incr_err_count : unit -> unitval incr_warn_count : unit -> unitval err_count : unit -> intval warn_count : unit -> int