Module Trace_tef

type output = [
  1. | `Stdout
  2. | `Stderr
  3. | `File of string
]

Output for tracing.

  • `Stdout will enable tracing and print events on stdout
  • `Stderr will enable tracing and print events on stderr
  • `File "foo" will enable tracing and print events into file named "foo"
val subscriber : out:[< output ] -> unit -> Trace_subscriber.t

A subscriber emitting TEF traces into out.

  • since 0.8
val collector : out:[< output ] -> unit -> Trace_core.collector

Make a collector that writes into the given output. See setup for more details.

val setup : ?out:[ output | `Env ] -> unit -> unit

setup () installs the collector depending on out.

  • parameter out

    can take different values:

    • regular output value to specify where events go
    • `Env will enable tracing if the environment variable "TRACE" is set.
    • If it's set to "1", then the file is "trace.json".
    • If it's set to "stdout", then logging happens on stdout (since 0.2)
    • If it's set to "stderr", then logging happens on stdout (since 0.2)
    • Otherwise, if it's set to a non empty string, the value is taken to be the file path into which to write.
val with_setup : ?out:[ output | `Env ] -> unit -> (unit -> 'a) -> 'a

with_setup () f (optionally) sets a collector up, calls f(), and makes sure to shutdown before exiting. since 0.2 a () argument was added.