sig
  type category
  type warn_category
  val verbose_atleast : int -> bool
  val debug_atleast : int -> bool
  val printf :
    ?level:int ->
    ?dkey:Log.Messages.category ->
    ?current:bool ->
    ?source:Lexing.position ->
    ?append:(Format.formatter -> unit) ->
    ?header:(Format.formatter -> unit) ->
    ('a, Format.formatter, unit) Pervasives.format -> 'a
  val result :
    ?level:int -> ?dkey:Log.Messages.category -> 'Log.pretty_printer
  val feedback :
    ?ontty:Log.ontty ->
    ?level:int -> ?dkey:Log.Messages.category -> 'Log.pretty_printer
  val debug :
    ?level:int -> ?dkey:Log.Messages.category -> 'Log.pretty_printer
  val warning : ?wkey:Log.Messages.warn_category -> 'Log.pretty_printer
  val error : 'Log.pretty_printer
  val abort : ('a, 'b) Log.pretty_aborter
  val failure : 'Log.pretty_printer
  val fatal : ('a, 'b) Log.pretty_aborter
  val verify : bool -> ('a, bool) Log.pretty_aborter
  val not_yet_implemented :
    ('a, Format.formatter, unit, 'b) Pervasives.format4 -> 'a
  val deprecated : string -> now:string -> ('-> 'b) -> '-> 'b
  val with_result : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
  val with_warning : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
  val with_error : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
  val with_failure : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
  val log :
    ?kind:Log.kind -> ?verbose:int -> ?debug:int -> 'Log.pretty_printer
  val register : Log.kind -> (Log.event -> unit) -> unit
  val register_tag_handlers : (string -> string) * (string -> string) -> unit
  val register_category : string -> Log.Messages.category
  val pp_category : Format.formatter -> Log.Messages.category -> unit
  val is_registered_category : string -> bool
  val get_category : string -> Log.Messages.category option
  val get_all_categories : unit -> Log.Messages.category list
  val add_debug_keys : Log.Messages.category -> unit
  val del_debug_keys : Log.Messages.category -> unit
  val get_debug_keys : unit -> Log.Messages.category list
  val is_debug_key_enabled : Log.Messages.category -> bool
  val get_debug_keyset : unit -> Log.Messages.category list
  val register_warn_category : string -> Log.Messages.warn_category
  val is_warn_category : string -> bool
  val pp_warn_category :
    Format.formatter -> Log.Messages.warn_category -> unit
  val pp_all_warn_categories_status : unit -> unit
  val get_warn_category : string -> Log.Messages.warn_category option
  val get_all_warn_categories : unit -> Log.Messages.warn_category list
  val get_all_warn_categories_status :
    unit -> (Log.Messages.warn_category * Log.warn_status) list
  val set_warn_status : Log.Messages.warn_category -> Log.warn_status -> unit
  val get_warn_status : Log.Messages.warn_category -> Log.warn_status
end