heavy-logger-0.3.1.0: Full-weight logging based on fast-logger

Safe HaskellNone
LanguageHaskell2010

System.Log.Heavy.LoggingT

Description

This module contains default implementation of HasLogBackend, HasLogContext, HasLogger instances, based on ReaderT - LoggingT monad transformer.

Synopsis

Documentation

newtype LoggingT m a Source #

Logging monad transformer. This is just a default implementation of HasLogging interface. Applications are free to use this or another implementation.

Constructors

LoggingT (ReaderT LoggingTState m a) 

Instances

MonadTrans LoggingT Source # 

Methods

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

MonadTransControl LoggingT Source # 

Associated Types

type StT (LoggingT :: (* -> *) -> * -> *) a :: * #

Methods

liftWith :: Monad m => (Run LoggingT -> m a) -> LoggingT m a #

restoreT :: Monad m => m (StT LoggingT a) -> LoggingT m a #

(MonadBaseControl IO m, MonadIO m) => MonadBaseControl IO (LoggingT m) Source # 

Associated Types

type StM (LoggingT m :: * -> *) a :: * #

Methods

liftBaseWith :: (RunInBase (LoggingT m) IO -> IO a) -> LoggingT m a #

restoreM :: StM (LoggingT m) a -> LoggingT m a #

MonadIO m => MonadBase IO (LoggingT m) Source # 

Methods

liftBase :: IO α -> LoggingT m α #

Monad m => MonadReader LoggingTState (LoggingT m) Source # 
Monad m => HasLogBackend AnyLogBackend (LoggingT m) Source # 
Monad m => Monad (LoggingT m) Source # 

Methods

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

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

return :: a -> LoggingT m a #

fail :: String -> LoggingT m a #

Functor m => Functor (LoggingT m) Source # 

Methods

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

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

Applicative m => Applicative (LoggingT m) Source # 

Methods

pure :: a -> LoggingT m a #

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

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

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

MonadIO m => MonadIO (LoggingT m) Source # 

Methods

liftIO :: IO a -> LoggingT m a #

Monad m => HasLogContext (LoggingT m) Source # 
Monad m => HasLogger (LoggingT m) Source # 
type StT LoggingT a Source # 
type StM (LoggingT m) a Source # 
type StM (LoggingT m) a = ComposeSt LoggingT m a

runLoggingT :: LoggingT m a -> LoggingTState -> m a Source #

Run logging monad