`sig
module type T =
sig
module Priority : Cf_ordered.Total_T
class virtual ['level] prioritizer :
object
method virtual code : 'level -> Priority.t
method virtual tag : 'level -> string
end
class ['level] event :
'level #Cf_journal.T.prioritizer ->
'level ->
string ->
object
method level : 'level
method message : string
method prioritizer : 'level Cf_journal.T.prioritizer
end
class virtual ['a] archiver :
object
constraint 'a = 'level #Cf_journal.T.event
method virtual emit : 'a -> unit
end
class virtual ['c] agent :
'level #Cf_journal.T.prioritizer ->
'level ->
'c list ->
object
constraint 'c =
('level #Cf_journal.T.event as 'd) #Cf_journal.T.archiver
val mutable archivers_ : 'c list
val mutable limit_ : Priority.t
method enabled : 'level -> bool
method private virtual event : 'level -> string -> 'd
method private put :
'a 'b.
'level ->
('d -> 'b) -> ('a, unit, string, 'b) Pervasives.format4 -> 'a
method setlimit : 'level -> unit
end
end
module Create :
functor (P : Cf_ordered.Total_T) ->
sig
module Priority : sig type t = P.t val compare : t -> t -> int end
class virtual ['level] prioritizer :
object
method virtual code : 'level -> Priority.t
method virtual tag : 'level -> string
end
class ['level] event :
'level #prioritizer ->
'level ->
string ->
object
method level : 'level
method message : string
method prioritizer : 'level prioritizer
end
class virtual ['a] archiver :
object
constraint 'a = 'level #event
method virtual emit : 'a -> unit
end
class virtual ['c] agent :
'level #prioritizer ->
'level ->
'c list ->
object
constraint 'c = ('level #event as 'd) #archiver
val mutable archivers_ : 'c list
val mutable limit_ : Priority.t
method enabled : 'level -> bool
method private virtual event : 'level -> string -> 'd
method private put :
'a 'b.
'level -> ('d -> 'b) -> ('a, unit, string, 'b) format4 -> 'a
method setlimit : 'level -> unit
end
end
module Basic :
sig
module Priority : sig type t = int val compare : t -> t -> int end
class virtual ['level] prioritizer :
object
method virtual code : 'level -> Priority.t
method virtual tag : 'level -> string
end
class ['level] event :
'level #prioritizer ->
'level ->
string ->
object
method level : 'level
method message : string
method prioritizer : 'level prioritizer
end
class virtual ['a] archiver :
object
constraint 'a = 'level #event
method virtual emit : 'a -> unit
end
class virtual ['c] agent :
'level #prioritizer ->
'level ->
'c list ->
object
constraint 'c = ('level #event as 'd) #archiver
val mutable archivers_ : 'c list
val mutable limit_ : Priority.t
method enabled : 'level -> bool
method private virtual event : 'level -> string -> 'd
method private put :
'a 'b.
'level -> ('d -> 'b) -> ('a, unit, string, 'b) format4 -> 'a
method setlimit : 'level -> unit
end
type invalid = [ `Invalid ]
type fail = [ `Fail ]
type error = [ `Error ]
type warn = [ `Warn ]
type notice = [ `Notice ]
type info = [ `Info ]
type debug = [ `Debug ]
type basic =
[ `Debug | `Error | `Fail | `Info | `Invalid | `Notice | `Warn ]
type enable = [ `All | `None ]
type level =
[ `All
| `Debug
| `Error
| `Fail
| `Info
| `Invalid
| `None
| `Notice
| `Warn ]
end
class ['a] basic_prioritizer :
object
constraint 'a = [> Cf_journal.Basic.level ]
method code : 'a -> Cf_journal.Basic.Priority.t
method tag : 'a -> string
end
class ['a] basic_channel_archiver :
Pervasives.out_channel ->
object
constraint 'a = [> Cf_journal.Basic.level ] #Cf_journal.Basic.event
method channel : Pervasives.out_channel
method emit : 'a -> unit
end
class virtual ['c] basic_agent :
([> Cf_journal.Basic.level ] as 'd) #Cf_journal.basic_prioritizer ->
'd ->
'c list ->
object
constraint 'c =
('d #Cf_journal.Basic.event as 'e) #Cf_journal.Basic.archiver
val mutable archivers_ : 'c list
val mutable limit_ : Basic.Priority.t
method debug : ('a, unit, string, bool) Pervasives.format4 -> 'a
method enabled : 'd -> bool
method error : ('a, unit, string, unit) Pervasives.format4 -> 'a
method private virtual event : 'd -> string -> 'e
method fail : ('a, unit, string, 'b) Pervasives.format4 -> 'a
method info : ('a, unit, string, unit) Pervasives.format4 -> 'a
method invalid : ('a, unit, string, 'b) Pervasives.format4 -> 'a
method notice : ('a, unit, string, unit) Pervasives.format4 -> 'a
method private put :
'a 'b. 'd -> ('e -> 'b) -> ('a, unit, string, 'b) format4 -> 'a
method setlimit : 'd -> unit
method warn : ('a, unit, string, unit) Pervasives.format4 -> 'a
end
type t =
Cf_journal.Basic.level Cf_journal.Basic.event Cf_journal.Basic.archiver
Cf_journal.basic_agent
val stdout : Cf_journal.t
val stderr : Cf_journal.t
end`