module Event: sig .. end
This module defines the concept of event and how to construct them.
type 
The type of event timestamps.
type 
|    | id :int; | 
|    | hostname :string; | 
|    | process :int; | 
|    | thread :int; | 
|    | timestamp :time; | 
|    | relative :int; | 
|    | level :Level.t; | 
|    | logger :Name.t; | 
|    | origin :Name.t; | 
|    | file :string; | 
|    | line :int; | 
|    | column :int; | 
|    | message :string; | 
|    | properties :(string * string) list; | 
|    | error :(exn * string) option; | 
}
The type of log events.
val make : Name.t ->
       Level.t ->
       ?origin:Name.t option ->
       ?file:string ->
       ?line:int ->
       ?column:int ->
       ?properties:(string * string) list -> ?error:exn option -> string -> t
make lg lv ~origin:o ~file:fn ~line:ln ~column:cl ~properties:p ~error:e m
    constructs a log event for logger lg with level lv, location being
    defined by fn (filename), ln (line) and cl (column). p is an
    association list providing user-defined properties, e is an
    optional exception to be recorded (with its backtrace), and o is
    the first logger receiving the event (when None, the origin is set
    to lg). Identifier, thread, timestamp, relative time, and backtrace
    are automatically generated.
val with_logger : Name.t -> t -> t
with_logger l e returns an event that is identical to e, except
    that its logger is equal to l.
val bindings : t -> (string * string) list
Returns the bindings for the passed event.
    The bindings are an association list to be used for event rendering.
    The following keys are defined:
- "id"event identifier;
- "hostname"host name of running program;
- "process"process identifier of running program (a.k.a. pid);
- "thread"thread identifier;
- "sec"seconds of event timestamp;
- "min"minutes of event timestamp;
- "hour"hour of event timestamp;
- "mday"day of month of event timestamp;
- "month"month of year of event timestamp (as a number);
- "year"year of event timestamp (on four digits);
- "wday"day of week of event timestamp (as a string);
- "time"event timestamp (epoch-based);
- "relative"time elapsed between initilization and event creation;
- "level"event level;
- "logger"event logger;
- "origin"first logger that received the event;
- "file"event file (using- "<nofile>"instead of the empty
      string);
- "filebase"event file (without directory information);
- "line"event line;
- "column"event column;
- "message"event message;
- "properties"property list of event
      (format:- "[k1: v1; ...; kn: vn]");
- "exception"event exception;
- "backtrace"event exception backtrace.
    These keys have precedence over the one given at event creation.
val render_bindings : (string * string) list -> string -> string
render_bindings l fmt returns a string representing fmt where all
    bindings of the association list l have been expanded. Bindings,
    and their textual format are defined in render.
val render : string -> t -> string
render fmt e returns a string representing fmt where all bindings
    of e have been expanded. Bindings should appear in fmt is the
    $(id:pad) format where id is the binding key, and pad the optional
    padding. The padding consists of whitespace, on the right if pad is
    positive and on the left otherwise.