git.iko.soy/typeable/control-logger
on master help sign in
Remove sso dependency on common and platform (#4793)
71f9cbaYuras
src/Control/Logger.hs+18
@@ -17,6 +17,8 @@ module Control.Logger
17 , tryJustWarn
17 , tryJustWarn
18 , logExceptions
18 , logExceptions
19 , LogSeverity(..)
19 , LogSeverity(..)
20+ , renderLogLevel
21+ , parseLogLevel
20 , oneoffLog
22 , oneoffLog
21 , LoggingMonad
23 , LoggingMonad
22 , LogSource
24 , LogSource
@@ -210,3 +212,19 @@ compactCallStack =
210 . map (\(f, l) -> f <> " (" <> compactLoc l <> ")")
212 . map (\(f, l) -> f <> " (" <> compactLoc l <> ")")
211 . getCallStack
213 . getCallStack
212 where compactLoc loc = srcLocFile loc <> ":" <> show (srcLocStartLine loc)
214 where compactLoc loc = srcLocFile loc <> ":" <> show (srcLocStartLine loc)
215+
216+parseLogLevel :: Text -> Either String LogSeverity
217+parseLogLevel t = case Text.strip t of
218+ "debug" -> pure Debug
219+ "info" -> pure Info
220+ "warn" -> pure Warn
221+ "error" -> pure Error
222+ _ -> Left
223+ "Unreadable log level. Possible values: debug, info, warn and error"
224+
225+renderLogLevel :: LogSeverity -> Text
226+renderLogLevel = \case
227+ Debug -> "debug"
228+ Info -> "info"
229+ Warn -> "warn"
230+ Error -> "error"