`sig
type level = App | Error | Warning | Info | Debug
val level : unit -> Topkg.Log.level option
val set_level : Topkg.Log.level option -> unit
val level_to_string : Topkg.Log.level option -> string
val level_of_string :
string -> (Topkg.Log.level option, [ `Msg of string ]) Topkg.r
type 'a msgf =
(?header:string ->
('a, Stdlib.Format.formatter, unit) Stdlib.format -> 'a) ->
unit
val msg : Topkg.Log.level -> 'a Topkg.Log.msgf -> unit
val app : 'a Topkg.Log.msgf -> unit
val err : 'a Topkg.Log.msgf -> unit
val warn : 'a Topkg.Log.msgf -> unit
val info : 'a Topkg.Log.msgf -> unit
val debug : 'a Topkg.Log.msgf -> unit
val on_error_msg :
?level:Topkg.Log.level -> use:(unit -> 'a) -> 'a Topkg.result -> 'a
val err_count : unit -> int
val warn_count : unit -> int
end`