@@ -5,6 +5,7 @@ module Katip.Scribes.Handle
5 -- * exported for benchmarking
5 -- * exported for benchmarking
6 , mkHandleScribe'
6 , mkHandleScribe'
8 , colorFormat
9 , colorFormat
@@ -67,6 +68,7 @@ mkHandleScribe' fmt h sev verb = do
69-------------------------------------------------------------------------------
70-------------------------------------------------------------------------------
71+bbFormat :: LogContext a => Verbosity -> Item a -> Builder
70bbFormat verb Item{..} =
72bbFormat verb Item{..} =
71 brackets nowStr <>
73 brackets nowStr <>
72 brackets (mconcat $ map fromText $ intercalateNs itemNamespace) <>
74 brackets (mconcat $ map fromText $ intercalateNs itemNamespace) <>
@@ -83,6 +85,33 @@ bbFormat verb Item{..} =
85-------------------------------------------------------------------------------
87-------------------------------------------------------------------------------
88+bbFormatColor :: LogContext a => Verbosity -> Item a -> Builder
89+bbFormatColor verb Item{..} =
91+ brackets (mconcat $ map fromText $ intercalateNs itemNamespace) <>
92+ brackets (fromText (renderSeverity' itemSeverity)) <>
93+ brackets (fromString itemHost) <>
94+ brackets (fromString (show itemProcess)) <>
95+ brackets (fromString (show itemThread)) <>
97+ maybe mempty (brackets . fromString . locationToString) itemLoc <>
98+ fromText " " <> fromText itemMessage
100+ nowStr = fromString $ formatTime defaultTimeLocale "%Y-%m-%d %H:%M:%S" itemTime
101+ ks = map brackets $ getKeys verb itemPayload
102+ renderSeverity' s = case s of
103+ Emergency -> red $ renderSeverity s
104+ Alert -> red $ renderSeverity s
105+ Critical -> red $ renderSeverity s
106+ Error -> red $ renderSeverity s
107+ Warning -> yellow $ renderSeverity s
108+ _ -> renderSeverity s
110+ yellow = colorize "33"
111+ colorize c s = "\ESC["<> c <> "m" <> s <> "\ESC[0m"
113+-------------------------------------------------------------------------------
114+colorFormat :: LogContext a => Verbosity -> Item a -> Builder
86colorFormat verb Item{..} = disp $
115colorFormat verb Item{..} = disp $
87 PP.brackets (PP.string nowStr) <>
116 PP.brackets (PP.string nowStr) <>
88 PP.brackets (PP.string $ fromChunks $ intercalateNs itemNamespace) <>
117 PP.brackets (PP.string $ fromChunks $ intercalateNs itemNamespace) <>