on master help sign in
Add MonadIO superclass
5ee7a2fOzgun Ataman
katip/src/Katip/Core.hs+6−4
@@ -257,7 +257,9 @@ unregisterScribe nm = logEnvScribes . at nm .~ Nothing
257
257
258
258
259
259
260+-------------------------------------------------------------------------------
261+-- | Monads where katip logging actions can be performed
260−class Katip m where
262+class MonadIO m => Katip m where
261 getLogEnv :: m LogEnv
263 getLogEnv :: m LogEnv
262
264
263
265
@@ -278,7 +280,7 @@ runKatipT le (KatipT f) = runReaderT f le
278-- | Log with everything, including a source code location. This is
280-- | Log with everything, including a source code location. This is
279-- very low level and you typically can use 'logT' in its place.
281-- very low level and you typically can use 'logT' in its place.
280logI
282logI
281− :: (Applicative m, MonadIO m, LogContext a, Katip m)
283+ :: (Applicative m, LogContext a, Katip m)
282 => a
284 => a
283 -> Namespace
285 -> Namespace
284 -> Maybe Loc
286 -> Maybe Loc
@@ -305,7 +307,7 @@ logI a ns loc sev msg = do
305-------------------------------------------------------------------------------
307-------------------------------------------------------------------------------
306-- | Log with full context, but without any code location.
308-- | Log with full context, but without any code location.
307logF
309logF
308− :: (Applicative m, MonadIO m, LogContext a, Katip m)
310+ :: (Applicative m, LogContext a, Katip m)
309 => a
311 => a
310 -- ^ Contextual payload for the log
312 -- ^ Contextual payload for the log
311 -> Namespace
313 -> Namespace
@@ -321,7 +323,7 @@ logF a ns sev msg = logI a ns Nothing sev msg
321-------------------------------------------------------------------------------
323-------------------------------------------------------------------------------
322-- | Log a message without any payload/context or code location.
324-- | Log a message without any payload/context or code location.
323logM
325logM
324− :: (Applicative m, MonadIO m, Katip m)
326+ :: (Applicative m, Katip m)
325 => Namespace
327 => Namespace
326 -> Severity
328 -> Severity
327 -> LogStr
329 -> LogStr