simple-log-0.6.0: Simple log for Haskell

Safe HaskellNone
LanguageHaskell98

System.Log.Simple.Monad

Synopsis

Documentation

newtype LogT m a Source #

Constructors

LogT 

Fields

Instances

MonadTrans LogT Source # 

Methods

lift :: Monad m => m a -> LogT m a #

Monad m => MonadReader Log (LogT m) Source # 

Methods

ask :: LogT m Log #

local :: (Log -> Log) -> LogT m a -> LogT m a #

reader :: (Log -> a) -> LogT m a #

Monad m => Monad (LogT m) Source # 

Methods

(>>=) :: LogT m a -> (a -> LogT m b) -> LogT m b #

(>>) :: LogT m a -> LogT m b -> LogT m b #

return :: a -> LogT m a #

fail :: String -> LogT m a #

Functor m => Functor (LogT m) Source # 

Methods

fmap :: (a -> b) -> LogT m a -> LogT m b #

(<$) :: a -> LogT m b -> LogT m a #

Applicative m => Applicative (LogT m) Source # 

Methods

pure :: a -> LogT m a #

(<*>) :: LogT m (a -> b) -> LogT m a -> LogT m b #

(*>) :: LogT m a -> LogT m b -> LogT m b #

(<*) :: LogT m a -> LogT m b -> LogT m a #

MonadIO m => MonadIO (LogT m) Source # 

Methods

liftIO :: IO a -> LogT m a #

MonadThrow m => MonadThrow (LogT m) Source # 

Methods

throwM :: Exception e => e -> LogT m a #

MonadCatch m => MonadCatch (LogT m) Source # 

Methods

catch :: Exception e => LogT m a -> (e -> LogT m a) -> LogT m a #

MonadMask m => MonadMask (LogT m) Source # 

Methods

mask :: ((forall a. LogT m a -> LogT m a) -> LogT m b) -> LogT m b #

uninterruptibleMask :: ((forall a. LogT m a -> LogT m a) -> LogT m b) -> LogT m b #

(MonadIO m, MonadMask m) => MonadLog (LogT m) Source # 

Methods

askLog :: LogT m Log Source #

withNoLog :: LogT m a -> m a Source #

withLog :: Log -> LogT m a -> m a Source #

runLog :: MonadIO m => RulesLoad -> [Logger] -> LogT m a -> m a Source #

runNoLog :: LogT m a -> m a Source #

log :: MonadLog m => Level -> Text -> m () Source #

sendLog :: MonadLog m => Level -> Text -> m () Source #

scope_ :: MonadLog m => Text -> m a -> m a Source #

scope :: MonadLog m => Text -> m a -> m a Source #

Scope with log all exceptions

scopeM_ :: (MonadLog m, MonadError e m) => Text -> m a -> m a Source #

Workaround: we must explicitely post LeaveScope

scopeM :: (Show e, MonadLog m, MonadError e m) => Text -> m a -> m a Source #

Scope with log exceptions from MonadError | Workaround: we must explicitely post LeaveScope

scoper :: (Show a, MonadLog m) => Text -> m a -> m a Source #

Scope with tracing result

scoperM :: (Show e, Show a, MonadLog m, MonadError e m) => Text -> m a -> m a Source #

ignoreError :: MonadLog m => m () -> m () Source #

Ignore error

ignoreErrorM :: (MonadLog m, MonadError e m) => m () -> m () Source #

Ignore MonadError error

trace :: (Show a, MonadLog m) => Text -> m a -> m a Source #

Trace value

class (MonadIO m, MonadMask m) => MonadLog m where Source #

Minimal complete definition

askLog

Methods

askLog :: m Log Source #

Instances

(MonadIO m, MonadMask m) => MonadLog (LogT m) Source # 

Methods

askLog :: LogT m Log Source #

MonadLog m => MonadLog (StateT s m) Source # 

Methods

askLog :: StateT s m Log Source #

MonadLog m => MonadLog (StateT s m) Source # 

Methods

askLog :: StateT s m Log Source #

(Monoid w, MonadLog m) => MonadLog (WriterT w m) Source # 

Methods

askLog :: WriterT w m Log Source #

(Monoid w, MonadLog m) => MonadLog (WriterT w m) Source # 

Methods

askLog :: WriterT w m Log Source #

MonadLog m => MonadLog (ReaderT * r m) Source # 

Methods

askLog :: ReaderT * r m Log Source #