Plasma GitLab Archive
Projects Blog Knowledge

Module Netlog


module Netlog: sig .. end
Basic logging facility

The purpose of this module is to define a mutable logging function which ensures to be always pointing to a valid logging implementation. By default, the function prints the messages to stderr, prepended by a timestamp. In Netplex context, the implementation is changed so that the Netplex logger is used instead (see Netplex_log), and the log and logf functions below have the same effect as the counterparts in Netplex_cenv with the same name.


type level = [ `Alert | `Crit | `Debug | `Emerg | `Err | `Info | `Notice | `Warning ] 
The log levels (syslog-like)
type logger = level -> string -> unit 
A logging function takes a level, and the message
val channel_logger : Pervasives.out_channel -> level -> logger
channel_logger ch lev: Prints all messages with a level of lev and higher to the channel ch. The output buffer is flushed after each message,
val current_logger : logger Pervasives.ref
The variable containing the current logger function. Defaults to channel_logger stderr `Debug at program startup. Assign something else to this variable in order to change the log destination or the log level.

Note that the function Netplex_main.run modifies current_logger so log messages are forwarded to the Netplex logger. It is then the Netplex framework that determines log destination and level.

val log : level -> string -> unit
Writes a log message
val logf : level -> ('a, unit, string, unit) Pervasives.format4 -> 'a
Writes a log message like printf
val level_weight : level -> int
A number correspondig to the level
val level_of_string : string -> level
val string_of_level : level -> string
Convert level names to strings and vice versa
val level_names : string array
The level names indexed by weight
module Debug: sig .. end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml