From 87277098e997661f432be56c27f4b54d51aa9306 Mon Sep 17 00:00:00 2001 From: DJ O'Leary Date: Sat, 29 Nov 2025 20:08:11 +0100 Subject: chore: use updated template --- 2025/ocaml/lib/infrastructure/dune | 18 ++++++++++++++++++ 2025/ocaml/lib/infrastructure/logger.ml | 31 +++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 2025/ocaml/lib/infrastructure/dune create mode 100644 2025/ocaml/lib/infrastructure/logger.ml (limited to '2025/ocaml/lib/infrastructure') diff --git a/2025/ocaml/lib/infrastructure/dune b/2025/ocaml/lib/infrastructure/dune new file mode 100644 index 0000000..9857fbb --- /dev/null +++ b/2025/ocaml/lib/infrastructure/dune @@ -0,0 +1,18 @@ +(library + (name infrastructure) + (libraries + application + domain + fmt + fmt.cli + fmt.tty + logs + logs.cli + logs.fmt) + (inline_tests) + (preprocess + (pps + ppx_deriving.show + ppx_deriving.eq + ppx_deriving.ord + ppx_expect))) diff --git a/2025/ocaml/lib/infrastructure/logger.ml b/2025/ocaml/lib/infrastructure/logger.ml new file mode 100644 index 0000000..d0d37a3 --- /dev/null +++ b/2025/ocaml/lib/infrastructure/logger.ml @@ -0,0 +1,31 @@ +module type Configurable_Logger = sig + include Application.Logger_sig.Logger + + val configure_logger : level:Logs.level option -> unit + + val parse_level : + env:Cmdliner.Cmd.Env.info -> Logs.level option Cmdliner.Term.t + + val configure_renderer : style_renderer:Fmt.style_renderer option -> unit +end + +module CLI_Logger : Configurable_Logger = struct + let configure_logger ~level = + Logs.set_level level ; + Logs.set_reporter (Logs_fmt.reporter ()) + + let parse_level ~env = Logs_cli.level ~env () + + let configure_renderer ~style_renderer = + Fmt_tty.setup_std_outputs ?style_renderer () + + let app msg = Logs.app (fun m -> m "%s" msg) + + let err msg = Logs.err (fun m -> m "%s" msg) + + let warn msg = Logs.warn (fun m -> m "%s" msg) + + let info msg = Logs.info (fun m -> m "%s" msg) + + let debug msg = Logs.debug (fun m -> m "%s" msg) +end -- cgit v1.2.3