git.iko.soy/typeable/control-logger
on master help sign in
Remove sso dependency on common and platform (#4793)
commit71f9cba90bdd2b68524b34e919f3963615d46595 authorYuras <shumovichy@gmail.com> dateTue 28 Jul 2020, 11:40 (6 years ago) parent7519f9f
1 file changed+18
src/Control/Logger.hs+18
src/Control/Logger.hs+18
@@ -17,6 +17,8 @@ module Control.Logger
1717 , tryJustWarn
1818 , logExceptions
1919 , LogSeverity(..)
20+ , renderLogLevel
21+ , parseLogLevel
2022 , oneoffLog
2123 , LoggingMonad
2224 , LogSource
@@ -210,3 +212,19 @@ compactCallStack =
210212 . map (\(f, l) -> f <> " (" <> compactLoc l <> ")")
211213 . getCallStack
212214 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"