Logs.Tag
Message tags.
Message tags are arbitrary named and typed values that can be associated to log messages. See an example.
The type for tag definitions. The type 'a
is the type of the tag. The definition specifies a name for the tag, a pretty-printer for the type of the tag and a documentation string. See def
.
val def :
?doc:string ->
string ->
(Stdlib.Format.formatter -> 'a -> unit) ->
'a def
def ~doc name pp
is a tag definition. name
is the name of the tag, it doesn't need to be unique. pp
is a printer for the type of the tag. doc
is a documentation string describing the tag (defaults to "undocumented"
).
val name : 'a def -> string
name d
is d
's name.
val doc : 'a def -> string
doc d
is d
's documentation string.
val printer : 'a def -> Stdlib.Format.formatter -> 'a -> unit
printer d
is d
's type pretty-printer.
val pp_def : Stdlib.Format.formatter -> 'a def -> unit
pp_def ppf d
prints an unspecified representation of d
on ppf
.
val list : unit -> def_e list
tag_list ()
is the list of currently existing tag definitions.
val pp : Stdlib.Format.formatter -> t -> unit
pp ppf t
prints an unspecified representation of t
on ppf
.
val empty : set
empty
is the empty set.
val is_empty : set -> bool
is_empty s
is true
iff s
is empty.
add d v s
is s
with the tag (V (d, v))
added. If there was a tag with definition d
in s
it is replaced.
fold f s acc
is the result of folding f
over the tags of s
starting with acc
.
val pp_set : Stdlib.Format.formatter -> set -> unit
pp_set ppf s
prints an unspecified representation of s on ppf
.