module Layout: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 thesig
..end
register
function. Initially, all the layouts defined
in this file (except pattern
and csv
) are registered (using the
function name as the registration name).typet =
string list * string list * (Event.t -> string)
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
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.
val minimal : t
Format:
MESSAGE
val simple : t
Format:
LEVEL - MESSAGE
val default : t
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
val csv : string -> string list -> t
csv sep l
constructs a layout ([], [], f)
where f
is the
rendering function defined by:sep
the CSV separator;l
the list of elements (referred to through keys) to output for
each CSV record, (the available keys are those defined by
Event.bindings
).