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 ]) Result.result   type 'a msgf =       (?header:string -> ('a, Format.formatter, unit) Pervasives.format -> 'a) ->       unit   val msg : Topkg.Log.level -> 'Topkg.Log.msgf -> unit   val app : 'Topkg.Log.msgf -> unit   val err : 'Topkg.Log.msgf -> unit   val warn : 'Topkg.Log.msgf -> unit   val info : 'Topkg.Log.msgf -> unit   val debug : 'Topkg.Log.msgf -> unit   val on_error_msg :     ?level:Topkg.Log.level -> use:(unit -> 'a) -> 'Topkg.result -> 'a   val err_count : unit -> int   val warn_count : unit -> int end