Module Async_unix.Log.Blocking

Async programs often have a non-Async portion that runs before the scheduler begins to capture command line options, do setup, read configs, etc. This module provides limited global logging functions to be used during that period. Calling these functions after the scheduler has started will raise an exception. They otherwise behave similarly to the logging functions in the Async world.

module Output : sig ... end
val level : unit ‑> Level.t
val set_level : Level.t ‑> unit
val set_output : Output.t ‑> unit
val raw : ?⁠time:Core.Time.t ‑> ?⁠tags:(string * string) list ‑> ('a, unit, string, unit) Core.format4 ‑> 'a

raw printf like logging for raw (no level) messages. Raw messages are still output with a timestamp.

val info : ?⁠time:Core.Time.t ‑> ?⁠tags:(string * string) list ‑> ('a, unit, string, unit) Core.format4 ‑> 'a

info printf like logging at the `Info log level

val error : ?⁠time:Core.Time.t ‑> ?⁠tags:(string * string) list ‑> ('a, unit, string, unit) Core.format4 ‑> 'a

error printf like logging at the `Error log level

val debug : ?⁠time:Core.Time.t ‑> ?⁠tags:(string * string) list ‑> ('a, unit, string, unit) Core.format4 ‑> 'a

debug printf like logging at the `Debug log level

val sexp : ?⁠level:Level.t ‑> ?⁠time:Core.Time.t ‑> ?⁠tags:(string * string) list ‑> Core.Sexp.t ‑> unit

sexp logging of sexps.

val surround_s : ?⁠level:Level.t ‑> ?⁠time:Core.Time.t ‑> ?⁠tags:(string * string) list ‑> Core.Sexp.t ‑> (unit ‑> 'a) ‑> 'a

surround_s logs before and after. See more detailed comment for async surround.

val surroundf : ?⁠level:Level.t ‑> ?⁠time:Core.Time.t ‑> ?⁠tags:(string * string) list ‑> ('a, unit, string, (unit ‑> 'b) ‑> 'bCore.format4 ‑> 'a

surroundf logs before and after. See more detailed comment for async surround.