matrix-bot-0.2.0: Matrix multipurpose bot
Safe HaskellNone
LanguageHaskell2010

MatrixBot.Log

Description

Helpers for the log messages

Synopsis

Documentation

withLogger :: MonadUnliftIO m => LogStateHandle -> (Logger -> m a) -> m a Source #

logDebug :: (MonadLogger m, HasCallStack) => Text -> m () Source #

logInfo :: (MonadLogger m, HasCallStack) => Text -> m () Source #

logWarn :: (MonadLogger m, HasCallStack) => Text -> m () Source #

logError :: (MonadLogger m, HasCallStack) => Text -> m () Source #

newtype Logger Source #

Constructors

Logger 

Fields

  • runLogger :: forall (m :: Type -> Type). MonadIO m => Loc -> LogLevel -> Text -> m ()
     

Instances

Instances details
HasLogger Logger Source # 
Instance details

Defined in MatrixBot.Log

Methods

logger :: Lens' Logger Logger Source #

MonadIO m => MonadLogger (ReaderT Logger m) Source # 
Instance details

Defined in MatrixBot.Log

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> ReaderT Logger m ()

class HasLogger r where Source #

Methods

logger :: Lens' r Logger Source #

Instances

Instances details
HasLogger Logger Source # 
Instance details

Defined in MatrixBot.Log

Methods

logger :: Lens' Logger Logger Source #

defaultMonadLoggerLog :: (MonadIO m, HasLogger r, MonadReader r m, ToLogStr msg) => Loc -> LogSource -> LogLevel -> msg -> m () Source #

Default implementation for ML.MonadLogger

setLogLevel :: (MonadUnliftIO m, MonadLogger m) => LogStateHandle -> Maybe LogLevel -> m () Source #

Set the desired log-level for the logger

Will initialize the logger if it was not yet initialized. Otherwise will just override the wanted log level.

forceLogInitialization :: (MonadUnliftIO m, MonadLogger m) => LogStateHandle -> m () Source #

Initialize log to debug-level in case it is not yet initialized

Useful for handling application failures before the log-level is set. So that errors are reported instead of stay silent in the queue.