From 877a0da1b8fd2dbdba1b21ec09b5da4f6c7cd4d4 Mon Sep 17 00:00:00 2001 From: Michele Alberti <michele.alberti@cea.fr> Date: Wed, 7 Jun 2023 14:36:40 +0200 Subject: [PATCH] [log] Better print code. --- src/logging.ml | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/src/logging.ml b/src/logging.ml index c665e86..3a258a2 100644 --- a/src/logging.ml +++ b/src/logging.ml @@ -50,35 +50,34 @@ let is_tag_enabled tag = let is_debug_level () = match Logs.level () with Some Debug -> true | _ -> false +let style_of_level = function + | Logs.App -> Logs_fmt.app_style + | Logs.Error -> Logs_fmt.err_style + | Logs.Warning -> Logs_fmt.warn_style + | Logs.Info -> Logs_fmt.info_style + | Logs.Debug -> Logs_fmt.debug_style + let pp_header ~pp_h ppf (l, h) = + let style = style_of_level l in match l with - | Logs.App -> ( - match h with None -> () | h -> pp_h ppf Logs_fmt.app_style "" h) - | Logs.Error -> pp_h ppf Logs_fmt.err_style "ERROR" h - | Logs.Warning -> pp_h ppf Logs_fmt.warn_style "WARNING" h - | Logs.Info -> pp_h ppf Logs_fmt.info_style "INFO" h - | Logs.Debug -> pp_h ppf Logs_fmt.debug_style "DEBUG" h + | Logs.App -> ( match h with None -> () | Some h -> pp_h ppf style h) + | Logs.Error -> + pp_h ppf style Fmt.(str "ERROR%a" (option (any ":" ++ string)) h) + | Logs.Warning -> + pp_h ppf style Fmt.(str "WARNING%a" (option (any ":" ++ string)) h) + | Logs.Info -> + pp_h ppf style Fmt.(str "INFO%a" (option (any ":" ++ string)) h) + | Logs.Debug -> + pp_h ppf style Fmt.(str "DEBUG%a" (option (any ":" ++ string)) h) let pp_header ~space = - let pp_h ppf style default h = - Fmt.pf ppf "[%a%a]%s" - Fmt.(styled style string) - default - Fmt.(styled style (option (any ":" ++ string))) - h - (if space then " " else "") + let pp_h ppf style h = + Fmt.pf ppf "[%a]%s" Fmt.(styled style string) h (if space then " " else "") in pp_header ~pp_h let pp_header_tag ppf (l, t) = - let style = - match l with - | Logs.App -> Logs_fmt.app_style - | Logs.Error -> Logs_fmt.err_style - | Logs.Warning -> Logs_fmt.warn_style - | Logs.Info -> Logs_fmt.info_style - | Logs.Debug -> Logs_fmt.debug_style - in + let style = style_of_level l in Fmt.pf ppf "{%a}" Fmt.(styled style string) t let tag_defs_available = List.map tag_def_of_tag (tags_available ()) -- GitLab