summaryrefslogtreecommitdiff
path: root/2025/ocaml/lib/infrastructure/logger.ml
diff options
context:
space:
mode:
authorDJ O'Leary <dijitol@proton.me>2025-11-29 20:08:11 +0100
committerDJ O'Leary <dijitol@proton.me>2025-11-29 20:09:11 +0100
commit87277098e997661f432be56c27f4b54d51aa9306 (patch)
tree83846830e5102120ef298e8ad9a552b30203fdc6 /2025/ocaml/lib/infrastructure/logger.ml
parent0bf49c4ec799445350c60a96a754e44ac15a2268 (diff)
chore: use updated template
Diffstat (limited to '2025/ocaml/lib/infrastructure/logger.ml')
-rw-r--r--2025/ocaml/lib/infrastructure/logger.ml31
1 files changed, 31 insertions, 0 deletions
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