Module Prometheus_unix.Logging

Report metrics for messages logged.

val init : ?default_level:Logs.level -> ?levels:(string * Logs.level) list -> ?formatter:Stdlib.Format.formatter -> unit -> unit

Initialise the Logs library with a reporter that reports prometheus metrics too. The reporter is configured to log to stderr and the log messages include a timestamp and the event's source.

A server will typically use the following code to initialise logging:

let () = Prometheus_app.Logging.init ()

Or:

let () =
  Prometheus_unix.Logging.init ()
    ~default_level:Logs.Debug
    ~levels:[
      "cohttp.lwt.io", Logs.Info;
    ]
  • parameter default_level

    The default log-level to use (default Logs.Info).

  • parameter levels

    Provides levels for specific log sources.

  • parameter formatter

    A custom formatter (default Fmt.stderr).

val inc_counter : Logs.level -> string -> unit

inc_counter level src increments the count of messages logged by src at level. The reporter installed by init calls this automatically, but you might want to use this if you use your own reporter instead.