diff options
| author | Estevan Castilho <tevo@riajuu.net> | 2026-10-08 00:54:55 +0000 |
|---|---|---|
| committer | Estevan Castilho <tevo@riajuu.net> | 2026-10-08 01:06:52 +0000 |
| commit | 0354a7c21cae08cda07864dcb70a76d37fe43375 (patch) | |
| tree | 468ebe1b682969b1a387baca99fab31dc3447e16 /lib/Logger.ml | |
| parent | b7b1c74b43dd5403d9d087845c8098b197ad0969 (diff) | |
| download | RNT-0354a7c21cae08cda07864dcb70a76d37fe43375.tar.gz RNT-0354a7c21cae08cda07864dcb70a76d37fe43375.zip | |
Log whenever managed objects are garbage collected
Diffstat (limited to '')
| -rw-r--r-- | lib/Logger.ml | 29 | ||||
| -rw-r--r-- | lib/Logger.mli | 3 |
2 files changed, 32 insertions, 0 deletions
diff --git a/lib/Logger.ml b/lib/Logger.ml new file mode 100644 index 0000000..ebb6c97 --- /dev/null +++ b/lib/Logger.ml @@ -0,0 +1,29 @@ +type level = Debug | Info | Warn | Error | Fatal + +type colors = Foreground | Blue | Yellow | Red | Purple + +let reset = "\027[0m" +let bold = "\027[1m" + +let color_for = function + | Foreground -> "\027[39m" + | Blue -> "\027[34m" + | Yellow -> "\027[33m" + | Red -> "\027[31m" + | Purple -> "\027[35m" + +let colored color text = Printf.sprintf "%s%s%s%s" (color_for color) bold text reset + +let channel_for = function + | Warn | Error | Fatal -> stderr + | _ -> stdout + +let prefix_for = function + | Debug -> colored Foreground "[DEBUG]" + | Info -> colored Blue "[INFO]" + | Warn -> colored Yellow "[WARN]" + | Error -> colored Red "[ERROR]" + | Fatal -> colored Purple "[FATAL]" + +let log level message = + Printf.fprintf (channel_for level) "%s %s\n" (prefix_for level) message diff --git a/lib/Logger.mli b/lib/Logger.mli new file mode 100644 index 0000000..21d5b73 --- /dev/null +++ b/lib/Logger.mli @@ -0,0 +1,3 @@ +type level = Debug | Info | Warn | Error | Fatal + +val log : level -> string -> unit |
