Module Layout

module Layout: sig .. end
This module defines the concept of layout, that is how an event is rendered into a string. It is possible to register new layouts through the register function. Initially, all the layouts defined in this file (except pattern and csv) are registered (using the function name as the registration name).


Definitions

type t = string list * string list * (Event.t -> string) 
The type of layouts, the components being: However, the exact semantics of each element is highly output-dependent.
val register : string -> t -> unit
register n l registers the layout l with name n, replacing any existing layout with the same name.
val register_unnamed : t -> string
Similar to register except that an unused name is generated and returned.
val get : string -> t
get n returns the layout registered with name n.

Raises Not_found if no layout exists with the passed name.


Predefined layouts

val minimal : t
The layout initially registered with the name "minimal".

Format:

MESSAGE

val simple : t
The layout initially registered with the name "simple".

Format:

LEVEL - MESSAGE

val default : t
The layout initially registered with the name "default".

Format:

TIME [FILE LINE] LEVEL MESSAGE

val pattern : string list -> string list -> string -> t
pattern h f r constructs a layout (h, f, r') where r' is the rendering function defined by the string r. The rendering is done by substituting the substring of the form "$(key)" or "$(key:pad)" with their associated values. The key/value associations are as defined by the function Event.bindings. The absolute value of pad defines the minimum size of the value when rendered. Moreover, if pad is negative padding spaces are added on the left while they are added to the right if pad is positive.
val html : t
The layout initially registered with the name "html". Renders the log events into an html table.
val csv : string -> string list -> t
csv sep l constructs a layout ([], [], f) where f is the rendering function defined by: