mirror of
https://github.com/ocaml-tracing/ocaml-trace.git
synced 2026-03-07 18:37:56 -05:00
33 lines
1 KiB
OCaml
33 lines
1 KiB
OCaml
(** Tracing levels.
|
|
|
|
This is similar to log levels in, say, [Logs]. In a thoroughly instrumented
|
|
program, there will be a {b lot} of spans, and enabling them all in
|
|
production might slow down the application or overwhelm the tracing system;
|
|
yet they might be useful in debug situations.
|
|
|
|
@since 0.7 *)
|
|
|
|
(** Level of tracing. These levels are in increasing order, i.e if level
|
|
[Debug1] is enabled, everything below it (Error, Warning, Info, etc.) are
|
|
also enabled.
|
|
@since 0.7 *)
|
|
type t =
|
|
| Error (** Only errors *)
|
|
| Warning (** Warnings *)
|
|
| Info
|
|
| Debug1 (** Least verbose debugging level *)
|
|
| Debug2 (** Intermediate verbosity debugging level *)
|
|
| Debug3 (** Maximum verbosity debugging level *)
|
|
| Trace (** Enable everything (default level) *)
|
|
|
|
(** @since 0.7 *)
|
|
let to_string : t -> string = function
|
|
| Error -> "error"
|
|
| Warning -> "warning"
|
|
| Info -> "info"
|
|
| Debug1 -> "debug1"
|
|
| Debug2 -> "debug2"
|
|
| Debug3 -> "debug3"
|
|
| Trace -> "trace"
|
|
|
|
let[@inline] leq (a : t) (b : t) : bool = a <= b
|