Module Log

module Log: sig .. end
Logging facility

We keep lazily the last N messages of every log levels. Additionally, messages of higher level than some threshold are copied onto stderr.


type level = 
| Critical
| Error
| Warning
| Info
| Debug
type msg = Clock.Time.t * string Lazy.t 
type queue = int * msg array 
type logger = {
   name : string;
   queues : queue array;
}
val int_of_level : level -> int
val nb_levels : int
val console_lvl : level Batteries.ref
val console_log : string -> Clock.Time.t * string Lazy.t -> unit
val enqueue : int * 'a array -> 'a -> int * 'a array
val queue_iter : ('a -> string -> unit) -> int * ('a * string Lazy.t) array -> unit
val log : logger -> level -> string Lazy.t -> unit
val make_queue : int -> int * (Clock.Time.t * string lazy_t) array
val loggers : (string, logger) Batteries.Hashtbl.t
val make : string -> int -> logger