heavy-logger-0.3.2.1: 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 # 
Instance details

Defined in System.Log.Heavy.LoggingT

Methods

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

MonadTransControl LoggingT Source # 
Instance details

Defined in System.Log.Heavy.LoggingT

Associated Types

type StT LoggingT a :: Type #

Methods

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

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

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

Defined in System.Log.Heavy.LoggingT

Methods

liftBase :: IO α -> LoggingT m α #

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

Defined in System.Log.Heavy.LoggingT

Associated Types

type StM (LoggingT m) a :: Type #

Methods

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

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

Monad m => MonadReader LoggingTState (LoggingT m) Source # 
Instance details

Defined in System.Log.Heavy.LoggingT

Monad m => HasLogBackend AnyLogBackend (LoggingT m) Source # 
Instance details

Defined in System.Log.Heavy.LoggingT

Monad m => Monad (LoggingT m) Source # 
Instance details

Defined in System.Log.Heavy.LoggingT

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 # 
Instance details

Defined in System.Log.Heavy.LoggingT

Methods

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

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

Applicative m => Applicative (LoggingT m) Source # 
Instance details

Defined in System.Log.Heavy.LoggingT

Methods

pure :: a -> LoggingT m a #

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

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

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

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

MonadIO m => MonadIO (LoggingT m) Source # 
Instance details

Defined in System.Log.Heavy.LoggingT

Methods

liftIO :: IO a -> LoggingT m a #

Monad m => HasLogContext (LoggingT m) Source # 
Instance details

Defined in System.Log.Heavy.LoggingT

Monad m => HasLogger (LoggingT m) Source # 
Instance details

Defined in System.Log.Heavy.LoggingT

type StT LoggingT a Source # 
Instance details

Defined in System.Log.Heavy.LoggingT

type StT LoggingT a = StT (ReaderT LoggingTState :: (Type -> Type) -> Type -> Type) a
type StM (LoggingT m) a Source # 
Instance details

Defined in System.Log.Heavy.LoggingT

type StM (LoggingT m) a = ComposeSt LoggingT m a

data LoggingTState Source #

State of LoggingT monad

Instances
Monad m => MonadReader LoggingTState (LoggingT m) Source # 
Instance details

Defined in System.Log.Heavy.LoggingT

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

Run logging monad