monad-classes-logging-0.1.0.0: monad-classes based typeclass for Ollie's logging-effect LoggingT

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Classes.Log

Documentation

data EffLog w Source #

type family LoggingCanDo msg eff where ... Source #

Equations

LoggingCanDo msg (EffLog msg) = True 
LoggingCanDo msg eff = False 

class Monad m => MonadLogN k message m where Source #

Minimal complete definition

logMessageFreeN

Methods

logMessageFreeN :: Proxy# k -> (forall n. Monoid n => (message -> n) -> n) -> m () Source #

Instances

Monad m => MonadLogN Zero msg (DiscardLoggingT msg m) Source # 

Methods

logMessageFreeN :: Proxy# Peano Zero -> (forall n. Monoid n => (msg -> n) -> n) -> DiscardLoggingT msg m () Source #

(Monad m, Monoid msg) => MonadLogN Zero msg (PureLoggingT msg m) Source # 

Methods

logMessageFreeN :: Proxy# Peano Zero -> (forall n. Monoid n => (msg -> n) -> n) -> PureLoggingT msg m () Source #

Monad m => MonadLogN Zero msg (LoggingT msg m) Source # 

Methods

logMessageFreeN :: Proxy# Peano Zero -> (forall n. Monoid n => (msg -> n) -> n) -> LoggingT msg m () Source #

(MonadTrans t, MonadLogN k msg m, Monad (t m)) => MonadLogN (Succ k) msg (t m) Source # 

Methods

logMessageFreeN :: Proxy# Peano (Succ k) -> (forall n. Monoid n => (msg -> n) -> n) -> t m () Source #

type MonadLog msg m = MonadLogN (Find (EffLog msg) m) msg m Source #

logMessageFree :: forall msg m. MonadLog msg m => (forall n. Monoid n => (msg -> n) -> n) -> m () Source #

logMessage :: MonadLog msg m => msg -> m () Source #

mapLogMessage :: MonadLog msg' m => (msg -> msg') -> LoggingT msg m a -> m a Source #

mapLogMessageM :: MonadLog msg' m => (msg -> m msg') -> LoggingT msg m a -> m a Source #

logDebug :: MonadLog (WithSeverity a) m => a -> m () Source #

logInfo :: MonadLog (WithSeverity a) m => a -> m () Source #

logNotice :: MonadLog (WithSeverity a) m => a -> m () Source #

logWarning :: MonadLog (WithSeverity a) m => a -> m () Source #

logError :: MonadLog (WithSeverity a) m => a -> m () Source #

logCritical :: MonadLog (WithSeverity a) m => a -> m () Source #

logAlert :: MonadLog (WithSeverity a) m => a -> m () Source #

logEmergency :: MonadLog (WithSeverity a) m => a -> m () Source #