Mavryk_event_logging.Internal_event
This module defines a "structured event logging framework."
Internal-Event streams are like traditional logs but they have a proper Data_encoding
format in order to be processed by software.
The module defines "Sinks" SINK
as the receptacle for structured events: pluggable modules which can absorb (i.e. display, store, forward) the events emitted within the code-base.
The relative importance of a particular event (compatible with traditional logging systems, cf. Lwt_log_core
.level).
module Section : sig ... end
Sections are a simple way of classifying events at the time of their emission.
val get_registered_sections :
unit ->
string Mavryk_error_monad.TzLwtreslib.Seq.t
All the section that has been registered. Currently, sections are registered by the `Simple`.
val register_section : Section.t -> unit
module type EVENT_DEFINITION = sig ... end
Parameters defining an inspectable type of events.
Build an event from an event-definition.
type 'a event_definition = (module EVENT_DEFINITION with type t = 'a)
event_definition
wraps EVENT_DEFINITION
as a first class module.
module Generic : sig ... end
Helper functions to manipulate all kinds of events in a generic way.
module All_definitions : sig ... end
Access to all the event definitions registered with Make
.
module Simple : sig ... end
Simple Event Definition
module type SINK = sig ... end
An implementation of SINK
is responsible for handling/storing events, for instance, a sink could be output to a file, to a database, or a simple "memory-less" forwarding mechanism.
sink_definition
wraps SINK_DEFINITION
as a first class module.
module All_sinks : sig ... end
Use All_sinks.register
to add a new inactive sink, then All_sinks.activate
to make it handle events.
module Lwt_worker_logger : sig ... end
The worker logger is meant for use with Lwt_utils
.worker.