summaryrefslogtreecommitdiff
path: root/2025/ocaml/lib/infrastructure/log.ml
diff options
context:
space:
mode:
authorDJ O'Leary <dijitol@proton.me>2025-12-05 01:50:42 +0100
committerDJ O'Leary <dijitol@proton.me>2025-12-05 01:50:42 +0100
commit58d165a4156336473a9f8bbe0f55823d0b973fc2 (patch)
tree47d6f3d611200a9b838c6d1b7cdbd72c2eab9220 /2025/ocaml/lib/infrastructure/log.ml
parent88aa00426ab84062b74156649506c7f65233c9c8 (diff)
feat(logger): implement logger functor
still needs to be injected somehow
Diffstat (limited to '2025/ocaml/lib/infrastructure/log.ml')
-rw-r--r--2025/ocaml/lib/infrastructure/log.ml32
1 files changed, 11 insertions, 21 deletions
diff --git a/2025/ocaml/lib/infrastructure/log.ml b/2025/ocaml/lib/infrastructure/log.ml
index 60f52b5..a15c1e7 100644
--- a/2025/ocaml/lib/infrastructure/log.ml
+++ b/2025/ocaml/lib/infrastructure/log.ml
@@ -1,25 +1,15 @@
-type level = App | Err | Warning | Info | Debug
+module LogsAdapter = struct
+ type 'a t = ('a, unit) Logs.msgf
-let log = function
- | App ->
- Logs.app
- | Err ->
- Logs.err
- | Warning ->
- Logs.warn
- | Info ->
- Logs.info
- | Debug ->
- Logs.debug
+ let app msgf = Logs.app msgf
-(** [pp_passthrough pp x] is [x] with the side-effects
- caused by calling [pp] on [x]. *)
-let pp_passthrough pp x = pp x ; x
+ let err msgf = Logs.err msgf
-(** [pp_list lvl msg lst] prints all elements of [lst] with the
- message [msg] at the level [lvl] *)
-let pp_list lvl msg = List.iter (fun elmt -> log lvl (fun m -> m msg elmt))
+ let warn msgf = Logs.warn msgf
-(** [pp_sequence lvl msg seq] prints all elements of [seq] with the
- message [msg] at the level [lvl] *)
-let pp_sequence lvl msg = Seq.iter (fun elmt -> log lvl (fun m -> m msg elmt))
+ let info msgf = Logs.info msgf
+
+ let debug msgf = Logs.debug msgf
+end
+
+module Logger = Application.Logger.Make (LogsAdapter)