diff --git a/lib/scribe.ml b/lib/scribe.ml index aa4ce06..eb87211 100644 --- a/lib/scribe.ml +++ b/lib/scribe.ml @@ -70,7 +70,6 @@ type t = ; fields : Field.t list } -let noop = { level = Level.Debug; sink = Sink.make (fun _event -> ()); fields = [] } let create ~level ~sink = { level; sink; fields = [] } let with_field field logger = { logger with fields = logger.fields @ [ field ] } let with_fields fields logger = { logger with fields = logger.fields @ fields } diff --git a/lib/scribe.mli b/lib/scribe.mli index 80c7482..c6f22ef 100644 --- a/lib/scribe.mli +++ b/lib/scribe.mli @@ -1,6 +1,6 @@ (** Value-based structured logging. - A [t] logger is an ordinary value that carries its own level, sink, and context fields. Library code can accept an optional logger and default to [noop] without touching process-wide logging state. *) + A [t] logger is an ordinary value that carries its own level, sink, and context fields, so logging never touches process-wide state. Library code can accept an optional logger and fall back to one backed by a discarding sink. *) module Level : sig (** Log verbosity. @@ -74,9 +74,6 @@ end (** A logger value. *) type t -(** A logger that discards every event. *) -val noop : t - (** [create ~level ~sink] creates a logger with no context fields. *) val create : level:Level.t -> sink:Sink.t -> t diff --git a/test/test_scribe.ml b/test/test_scribe.ml index fff3f72..e5d72cc 100644 --- a/test/test_scribe.ml +++ b/test/test_scribe.ml @@ -96,11 +96,6 @@ let test_json_sink () = output ;; -let test_noop () = - Scribe.warn Scribe.noop "ignored" [ Scribe.Field.string "component" "test" ]; - Scribe.info Scribe.noop "ignored" [] -;; - let test_noop_sink () = let logger = Scribe.create ~level:Scribe.Level.Debug ~sink:(Scribe_sinks.Noop.create ()) @@ -117,7 +112,6 @@ let () = "context fields and override" `Quick test_context_and_override - ; Alcotest.test_case "noop logger" `Quick test_noop ] ) ; ( "sink" , [ Alcotest.test_case "json sink" `Quick test_json_sink