mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-05-05 08:54:27 -04:00
expose Self_debug.level_above
This commit is contained in:
parent
b766f86019
commit
e9bb76edd1
2 changed files with 13 additions and 4 deletions
|
|
@ -16,17 +16,21 @@ let string_of_level = function
|
|||
| Warning -> "warning"
|
||||
| Error -> "error"
|
||||
|
||||
let to_stderr ?(min_level = Warning) () : unit =
|
||||
open struct
|
||||
let[@inline] int_of_level_ = function
|
||||
| Debug -> 0
|
||||
| Info -> 1
|
||||
| Warning -> 2
|
||||
| Error -> 3
|
||||
in
|
||||
let threshold = int_of_level_ min_level in
|
||||
end
|
||||
|
||||
let level_above ~min_level level : bool =
|
||||
int_of_level_ level >= int_of_level_ min_level
|
||||
|
||||
let to_stderr ?(min_level = Warning) () : unit =
|
||||
logger :=
|
||||
fun level mk_msg ->
|
||||
if int_of_level_ level >= threshold then (
|
||||
if level_above ~min_level level then (
|
||||
let msg = mk_msg () in
|
||||
Printf.eprintf "[otel:%s] %s\n%!" (string_of_level level) msg
|
||||
)
|
||||
|
|
|
|||
|
|
@ -25,6 +25,11 @@ val logger : logger ref
|
|||
val string_of_level : level -> string
|
||||
(** String representation of a level. *)
|
||||
|
||||
val level_above : min_level:level -> level -> bool
|
||||
(** [level_above ~min_level lvl] is true if messages at level [lvl] should be
|
||||
logged.
|
||||
@since NEXT_RELEASE *)
|
||||
|
||||
val log : level -> (unit -> string) -> unit
|
||||
(** [log level mk_msg] emits a diagnostic message if the current logger is
|
||||
active. [mk_msg] is called lazily — only if the message will be emitted. *)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue