| 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.