Module BatLog

module BatLog: sig .. end

Simple logging


val output : unit BatIO.output Pervasives.ref

This ref holds the output channel for simple logging. Defaults to stderr

val prefix : string Pervasives.ref

This ref holds the text printed before each log message. Defaults to the empty string.

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

val log : ?fp:string -> string -> unit

log s logs the message s, returning unit.

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.

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