Module BatLog

module BatLog: sig .. end
Simple logging
Author(s): Edgar Friendly

val output : unit BatIO.output Pervasives.ref
This ref holds the output channel for simple logging. Defaults to stderr
Since 2.0; had getter and setter in 1.x
val prefix : string Pervasives.ref
This ref holds the text printed before each log message. Defaults to the empty string.
Since 2.0; had getter and setter in 1.x
type flag = [ `Custom of unit -> string | `Date | `Filepos | `Time ] 
val flags : flag list Pervasives.ref
This ref holds the output flags. These flags control how the log messages are output. The default is `Date`Time and log messages are printed as:

2011/0628 01:23:45: prefixmessage
Since 2.0; had getter and setter in 1.x

val log : ?fp:string -> string -> unit
log s logs the message s, returning unit.
Since 2.0; was [print] in 1.x
val logf : ?fp:string -> ('a, unit BatIO.output, unit) Pervasives.format -> 'a
As Printf.printf, only the message is printed to the logging output and prefixed with status information per the current flags and the currently set prefix.
Since 2.0; was [printf] in 1.x
val fatal : ?fp:string -> string -> 'a
fatal s logs the message s and then calls exit 1. This exits the program with return code 1.
val fatalf : ?fp:string -> ('a, unit BatIO.output, unit) Pervasives.format -> 'a
fatalf allows a format string (as Printf.printf)and the arguments to that format string to build the logging message. Exits the program with return code 1.
module type Config = sig .. end
module Make: 
functor (S : Config-> sig .. end
Build a logger module with custom, fixed output, prefix and flags

Returns an object with methods fatal, fatalf, log, and logf that logs to the given output channel, with given prefix and flags. These methods work like the corresponding functions in the BatLog module.
val make_logger : 'a BatIO.output ->
string ->
[< `Custom of unit -> string | `Date | `Filepos | `Time ] list ->
< fatal : ?fp:string -> string -> 'b;
fatalf : ?fp:string ->
('c, 'a BatIO.output, unit, unit, unit, 'd) Pervasives.format6 ->
'c;
log : ?fp:string -> string -> unit;
logf : ?fp:string -> ('e, 'a BatIO.output, unit) Pervasives.format -> 'e >
type easy_lev = [ `always | `debug | `error | `fatal | `info | `trace | `warn ] 
The different verbosity levels supported in the Easy logger
module Easy: sig .. end
A simple-to-use logger with verbosity levels that outputs by default to stderr (changeable at runtime) with the date and time at the beginning of each log message.
module type Level_sig = sig .. end
The details of a level scheme for verbosity-level loggers
module Make_lev: 
functor (L : Level_sig-> 
functor (S : Config-> sig .. end
Make your own level-based logger, like Easy