sig
module type T =
sig
module Priority : Cf_ordered.Total_T
class virtual ['a] prioritizer :
object
method virtual code : 'a -> Priority.t
method virtual tag : 'a -> string
end
class ['a] event :
'a #Cf_journal.T.prioritizer ->
'a ->
string ->
object
method level : 'a
method message : string
method prioritizer : 'a Cf_journal.T.prioritizer
end
class virtual ['a] archiver :
object
constraint 'a = 'b #Cf_journal.T.event
method virtual emit : 'a -> unit
end
class virtual ['a] agent :
'b #Cf_journal.T.prioritizer ->
'b ->
'a list ->
object
constraint 'a =
('b #Cf_journal.T.event as 'c) #Cf_journal.T.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) Pervasives.format4 -> 'd
method setlimit : 'b -> 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 ['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
end
module Basic :
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 = [ `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 ['a] basic_agent :
([> Cf_journal.Basic.level ] as 'b) #Cf_journal.basic_prioritizer ->
'b ->
'a list ->
object
constraint 'a =
('b #Cf_journal.Basic.event as 'c) #Cf_journal.Basic.archiver
val mutable archivers_ : 'a list
val mutable limit_ : Basic.Priority.t
method debug : ('d, unit, string, bool) Pervasives.format4 -> 'd
method enabled : 'b -> bool
method error : ('e, unit, string, unit) Pervasives.format4 -> 'e
method private virtual event : 'b -> string -> 'c
method fail : ('f, unit, string, 'g) Pervasives.format4 -> 'f
method info : ('h, unit, string, unit) Pervasives.format4 -> 'h
method invalid : ('i, unit, string, 'j) Pervasives.format4 -> 'i
method notice : ('k, unit, string, unit) Pervasives.format4 -> 'k
method private put :
'l 'm. 'b -> ('c -> 'm) -> ('l, unit, string, 'm) format4 -> 'l
method setlimit : 'b -> unit
method warn : ('n, unit, string, unit) Pervasives.format4 -> 'n
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