sig
module Priority : sig type t = int val compare : t -> t -> int end
class virtual ['a] prioritizer :
object
method virtual code : 'a -> Priority.t
method virtual tag : 'a -> string
end
class ['a] event :
'a #prioritizer ->
'a ->
string ->
object
method level : 'a
method message : string
method prioritizer : 'a prioritizer
end
class virtual ['a] archiver :
object constraint 'a = 'b #event method virtual emit : 'a -> unit end
class virtual ['a] agent :
'b #prioritizer ->
'b ->
'a list ->
object
constraint 'a = ('b #event as 'c) #archiver
val mutable archivers_ : 'a list
val mutable limit_ : Priority.t
method enabled : 'b -> bool
method private virtual event : 'b -> string -> 'c
method private put :
'd 'e. 'b -> ('c -> 'e) -> ('d, unit, string, 'e) format4 -> 'd
method setlimit : 'b -> unit
end
type invalid_t = [ `Invalid ]
type fail_t = [ `Fail ]
type error_t = [ `Error ]
type warn_t = [ `Warn ]
type info_t = [ `Info ]
type debug_t = [ `Debug ]
type basic_t = [ `Debug | `Error | `Fail | `Info | `Invalid | `Warn ]
type enable_t = [ `All | `None ]
type level_t =
[ `All | `Debug | `Error | `Fail | `Info | `Invalid | `None | `Warn ]
end