Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Ganeti.Logging.WriterLog
Description
A pure implementation of MonadLog using MonadWriter
Synopsis
- data WriterLogT m a
- type WriterLog = WriterLogT Identity
- runWriterLogT :: WriterLogT m a -> m (a, LogSeq)
- runWriterLog :: WriterLog a -> (a, LogSeq)
- dumpLogSeq :: MonadLog m => LogSeq -> m ()
- execWriterLogT :: MonadLog m => WriterLogT m a -> m a
- execWriterLog :: MonadLog m => WriterLog a -> m a
Documentation
data WriterLogT m a #
A monad transformer that adds pure logging capability.
Instances
MonadTransControl WriterLogT # | |
Defined in Ganeti.Logging.WriterLog Associated Types type StT WriterLogT a Methods liftWith :: Monad m => (Run WriterLogT -> m a) -> WriterLogT m a restoreT :: Monad m => m (StT WriterLogT a) -> WriterLogT m a | |
MonadTrans WriterLogT # | |
Defined in Ganeti.Logging.WriterLog Methods lift :: Monad m => m a -> WriterLogT m a | |
MonadBaseControl IO m => MonadBaseControl IO (WriterLogT m) # | |
Defined in Ganeti.Logging.WriterLog Associated Types type StM (WriterLogT m) a Methods liftBaseWith :: (RunInBase (WriterLogT m) IO -> IO a) -> WriterLogT m a restoreM :: StM (WriterLogT m) a -> WriterLogT m a | |
MonadBase IO m => MonadBase IO (WriterLogT m) # | |
Defined in Ganeti.Logging.WriterLog Methods liftBase :: IO α -> WriterLogT m α | |
MonadIO m => MonadIO (WriterLogT m) # | |
Defined in Ganeti.Logging.WriterLog Methods liftIO :: IO a -> WriterLogT m a # | |
Alternative m => Alternative (WriterLogT m) # | |
Defined in Ganeti.Logging.WriterLog Methods empty :: WriterLogT m a (<|>) :: WriterLogT m a -> WriterLogT m a -> WriterLogT m a some :: WriterLogT m a -> WriterLogT m [a] many :: WriterLogT m a -> WriterLogT m [a] | |
Applicative m => Applicative (WriterLogT m) # | |
Defined in Ganeti.Logging.WriterLog Methods pure :: a -> WriterLogT m a (<*>) :: WriterLogT m (a -> b) -> WriterLogT m a -> WriterLogT m b liftA2 :: (a -> b -> c) -> WriterLogT m a -> WriterLogT m b -> WriterLogT m c (*>) :: WriterLogT m a -> WriterLogT m b -> WriterLogT m b (<*) :: WriterLogT m a -> WriterLogT m b -> WriterLogT m a | |
Functor m => Functor (WriterLogT m) # | |
Defined in Ganeti.Logging.WriterLog Methods fmap :: (a -> b) -> WriterLogT m a -> WriterLogT m b (<$) :: a -> WriterLogT m b -> WriterLogT m a | |
Monad m => Monad (WriterLogT m) # | |
Defined in Ganeti.Logging.WriterLog Methods (>>=) :: WriterLogT m a -> (a -> WriterLogT m b) -> WriterLogT m b (>>) :: WriterLogT m a -> WriterLogT m b -> WriterLogT m b return :: a -> WriterLogT m a | |
MonadPlus m => MonadPlus (WriterLogT m) # | |
Defined in Ganeti.Logging.WriterLog | |
Monad m => MonadLog (WriterLogT m) # | |
Defined in Ganeti.Logging.WriterLog Methods logAt :: Priority -> String -> WriterLogT m () # | |
type StT WriterLogT a # | |
Defined in Ganeti.Logging.WriterLog type StT WriterLogT a | |
type StM (WriterLogT m) a # | |
Defined in Ganeti.Logging.WriterLog |
type WriterLog = WriterLogT Identity #
runWriterLogT :: WriterLogT m a -> m (a, LogSeq) #
runWriterLog :: WriterLog a -> (a, LogSeq) #
dumpLogSeq :: MonadLog m => LogSeq -> m () #
Sends all log messages to the a monad that implements MonadLog
.
execWriterLogT :: MonadLog m => WriterLogT m a -> m a #
Runs a WriterLogT
, and when it finishes, resends all log messages
to the underlying monad that implements MonadLog
.
This can be used to delay logging messages, by accumulating them
in WriterLogT
, and resending them at the end to the underlying monad.