sig
type kind = Result | Feedback | Debug | Warning | Error | Failure
type event = {
evt_kind : Log.kind;
evt_plugin : string;
evt_source : Lexing.position option;
evt_message : string;
}
type 'a pretty_printer =
?current:bool ->
?source:Lexing.position ->
?emitwith:(Log.event -> unit) ->
?echo:bool ->
?once:bool ->
?append:(Format.formatter -> unit) ->
('a, Format.formatter, unit) Pervasives.format -> 'a
type ('a, 'b) pretty_aborter =
?current:bool ->
?source:Lexing.position ->
?echo:bool ->
?append:(Format.formatter -> unit) ->
('a, Format.formatter, unit, 'b) Pervasives.format4 -> 'a
exception AbortError of string
exception AbortFatal of string
exception FeatureRequest of string * string
type category = private string
module Category_set :
sig
type elt = category
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val choose : t -> elt
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val of_list : elt list -> t
val min_elt : t -> elt
val max_elt : t -> elt
val nearest_elt_le : elt -> t -> elt
val nearest_elt_ge : elt -> t -> elt
end
module type Messages =
sig
val verbose_atleast : int -> bool
val debug_atleast : int -> bool
val printf :
?level:int ->
?dkey:Log.category ->
?current:bool ->
?source:Lexing.position ->
?append:(Format.formatter -> unit) ->
?header:(Format.formatter -> unit) ->
?prefix:string ->
?suffix:string ->
('a, Format.formatter, unit) Pervasives.format -> 'a
val result : ?level:int -> ?dkey:Log.category -> 'a Log.pretty_printer
val feedback :
?level:int -> ?dkey:Log.category -> 'a Log.pretty_printer
val debug : ?level:int -> ?dkey:Log.category -> 'a Log.pretty_printer
val debug0 :
?level:int -> ?dkey:Log.category -> unit Log.pretty_printer
val debug1 :
?level:int -> ?dkey:Log.category -> ('a -> unit) Log.pretty_printer
val debug2 :
?level:int ->
?dkey:Log.category -> ('a -> 'b -> unit) Log.pretty_printer
val debug3 :
?level:int ->
?dkey:Log.category -> ('a -> 'b -> 'c -> unit) Log.pretty_printer
val debug4 :
?level:int ->
?dkey:Log.category ->
('a -> 'b -> 'c -> 'd -> unit) Log.pretty_printer
val debug5 :
?level:int ->
?dkey:Log.category ->
('a -> 'b -> 'c -> 'd -> 'e -> unit) Log.pretty_printer
val debug6 :
?level:int ->
?dkey:Log.category ->
('a -> 'b -> 'c -> 'd -> 'e -> 'f -> unit) Log.pretty_printer
val debug7 :
?level:int ->
?dkey:Log.category ->
('a -> 'b -> 'c -> 'd -> 'e -> 'f -> 'g -> unit) Log.pretty_printer
val debug8 :
?level:int ->
?dkey:Log.category ->
('a -> 'b -> 'c -> 'd -> 'e -> 'f -> 'g -> 'h -> unit)
Log.pretty_printer
val warning : 'a Log.pretty_printer
val error : 'a Log.pretty_printer
val abort : ('a, 'b) Log.pretty_aborter
val failure : 'a 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 -> ('a -> 'b) -> 'a -> '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 -> 'a Log.pretty_printer
val with_log :
(Log.event -> 'b) -> ?kind:Log.kind -> ('a, 'b) Log.pretty_aborter
val register : Log.kind -> (Log.event -> unit) -> unit
val register_tag_handlers :
(string -> string) * (string -> string) -> unit
val register_category : string -> Log.category
val get_category : string -> Log.Category_set.t
val get_all_categories : unit -> Log.Category_set.t
val add_debug_keys : Log.Category_set.t -> unit
val del_debug_keys : Log.Category_set.t -> unit
val get_debug_keys : unit -> Log.Category_set.t
val is_debug_key_enabled : Log.category -> bool
val get_debug_keyset : unit -> Log.category list
end
module Register :
functor
(P : sig
val channel : string
val label : string
val verbose_atleast : int -> bool
val debug_atleast : int -> bool
end) ->
Messages
val set_echo : ?plugin:string -> ?kind:Log.kind list -> bool -> unit
val add_listener :
?plugin:string -> ?kind:Log.kind list -> (Log.event -> unit) -> unit
val echo : Log.event -> unit
val notify : Log.event -> unit
type channel
val new_channel : string -> Log.channel
type prefix = Label of string | Prefix of string | Indent of int
val log_channel :
Log.channel ->
?kind:Log.kind -> ?prefix:Log.prefix -> 'a Log.pretty_printer
val with_log_channel :
Log.channel ->
(Log.event -> 'b) ->
?kind:Log.kind -> ?prefix:Log.prefix -> ('a, 'b) Log.pretty_aborter
val kernel_channel_name : string
val kernel_label_name : string
val get_current_source : unit -> Lexing.position
val null : Format.formatter
val nullprintf : ('a, Format.formatter, unit) Pervasives.format -> 'a
val with_null :
(unit -> 'b) -> ('a, Format.formatter, unit, 'b) Pervasives.format4 -> 'a
val set_output : (string -> int -> int -> unit) -> (unit -> unit) -> unit
val print_on_output : (Format.formatter -> unit) -> unit
val print_delayed : (Format.formatter -> unit) -> unit
val set_current_source : (unit -> Lexing.position) -> unit
val check_not_yet : (Log.event -> bool) Pervasives.ref
end