Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module contains type class for HasLoggerName
.
- class HasLoggerName m where
- setLoggerName :: HasLoggerName m => LoggerName -> m a -> m a
- withSublogger :: HasLoggerName m => LoggerName -> m a -> m a
Remove boilerplater
class HasLoggerName m where Source #
This type class exists to remove boilerplate logging by adding the logger's name to the context in each module.
TODO: replace current methods with Lens?
askLoggerName :: m LoggerName Source #
Extract logger name from context
modifyLoggerName :: (LoggerName -> LoggerName) -> m a -> m a Source #
Change logger name in context
askLoggerName :: (MonadTrans t, t n ~ m, Monad n, HasLoggerName n) => m LoggerName Source #
Extract logger name from context
modifyLoggerName :: (MFunctor t, t n ~ m, Monad n, HasLoggerName n) => (LoggerName -> LoggerName) -> m a -> m a Source #
Change logger name in context
HasLoggerName Identity Source # | |
Monad m => HasLoggerName (LoggerNameBox m) Source # | |
Monad m => HasLoggerName (NamedPureLogger m) Source # | |
(HasLoggerName m, Monad m) => HasLoggerName (PureLogger m) Source # | |
(Monoid w, Monad m, HasLoggerName m) => HasLoggerName (WriterT w m) Source # | |
(Monad m, HasLoggerName m) => HasLoggerName (StateT a m) Source # | |
(Monad m, HasLoggerName m) => HasLoggerName (StateT a m) Source # | |
(Monad m, HasLoggerName m) => HasLoggerName (ExceptT e m) Source # | |
(Monad m, HasLoggerName m) => HasLoggerName (ReaderT * a m) Source # | |
(Monad m, HasLoggerName m) => HasLoggerName (ContT * r m) Source # | |
(Monad m, HasLoggerName m, Monoid w) => HasLoggerName (RWST r w s m) Source # | |
(Monad m, HasLoggerName m, Monoid w) => HasLoggerName (RWST r w s m) Source # | |
setLoggerName :: HasLoggerName m => LoggerName -> m a -> m a Source #
Set logger name in context.
withSublogger :: HasLoggerName m => LoggerName -> m a -> m a Source #
Change logger name to the given one