monad-logger-0.3.40: A class of monads which can log messages.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.Logger.CallStack

Description

Log functions using CallStack support in place of Template Haskell

Since: 0.3.19

Synopsis

Documentation

class ToLogStr msg where #

Types that can be converted to a LogStr. Instances for types from the text library use a UTF-8 encoding. Instances for numerical types use a decimal encoding.

Methods

toLogStr :: msg -> LogStr #

Instances

Instances details
ToLogStr Int16

Since: fast-logger-2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Int16 -> LogStr #

ToLogStr Int32

Since: fast-logger-2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Int32 -> LogStr #

ToLogStr Int64

Since: fast-logger-2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Int64 -> LogStr #

ToLogStr Int8

Since: fast-logger-2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Int8 -> LogStr #

ToLogStr Word16

Since: fast-logger-2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Word16 -> LogStr #

ToLogStr Word32

Since: fast-logger-2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Word32 -> LogStr #

ToLogStr Word64

Since: fast-logger-2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Word64 -> LogStr #

ToLogStr Word8

Since: fast-logger-2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Word8 -> LogStr #

ToLogStr Builder 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Builder -> LogStr #

ToLogStr ByteString 
Instance details

Defined in System.Log.FastLogger.LogStr

ToLogStr ByteString 
Instance details

Defined in System.Log.FastLogger.LogStr

ToLogStr ShortByteString 
Instance details

Defined in System.Log.FastLogger.LogStr

ToLogStr LogStr 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: LogStr -> LogStr #

ToLogStr Text 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Text -> LogStr #

ToLogStr Text 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Text -> LogStr #

ToLogStr String 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: String -> LogStr #

ToLogStr Integer

Since: fast-logger-2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Integer -> LogStr #

ToLogStr Double

Since: fast-logger-2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Double -> LogStr #

ToLogStr Float

Since: fast-logger-2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Float -> LogStr #

ToLogStr Int

Since: fast-logger-2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Int -> LogStr #

ToLogStr Word

Since: fast-logger-2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Word -> LogStr #

data LogStr #

Log message builder. Use (<>) to append two LogStr in O(1).

Instances

Instances details
IsString LogStr 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

fromString :: String -> LogStr #

Monoid LogStr 
Instance details

Defined in System.Log.FastLogger.LogStr

Semigroup LogStr 
Instance details

Defined in System.Log.FastLogger.LogStr

Show LogStr 
Instance details

Defined in System.Log.FastLogger.LogStr

ToLogStr LogStr 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: LogStr -> LogStr #

Eq LogStr 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

(==) :: LogStr -> LogStr -> Bool #

(/=) :: LogStr -> LogStr -> Bool #

data Loc #

Instances

Instances details
Data Loc 
Instance details

Defined in Language.Haskell.TH.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Loc -> c Loc #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Loc #

toConstr :: Loc -> Constr #

dataTypeOf :: Loc -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Loc) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Loc) #

gmapT :: (forall b. Data b => b -> b) -> Loc -> Loc #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Loc -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Loc -> r #

gmapQ :: (forall d. Data d => d -> u) -> Loc -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Loc -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Loc -> m Loc #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Loc -> m Loc #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Loc -> m Loc #

Generic Loc 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Loc :: Type -> Type #

Methods

from :: Loc -> Rep Loc x #

to :: Rep Loc x -> Loc #

Show Loc 
Instance details

Defined in Language.Haskell.TH.Syntax

Methods

showsPrec :: Int -> Loc -> ShowS #

show :: Loc -> String #

showList :: [Loc] -> ShowS #

Eq Loc 
Instance details

Defined in Language.Haskell.TH.Syntax

Methods

(==) :: Loc -> Loc -> Bool #

(/=) :: Loc -> Loc -> Bool #

Ord Loc 
Instance details

Defined in Language.Haskell.TH.Syntax

Methods

compare :: Loc -> Loc -> Ordering #

(<) :: Loc -> Loc -> Bool #

(<=) :: Loc -> Loc -> Bool #

(>) :: Loc -> Loc -> Bool #

(>=) :: Loc -> Loc -> Bool #

max :: Loc -> Loc -> Loc #

min :: Loc -> Loc -> Loc #

type Rep Loc 
Instance details

Defined in Language.Haskell.TH.Syntax

class Monad m => MonadLogger m where Source #

A Monad which has the ability to log messages in some manner.

Minimal complete definition

Nothing

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> m () Source #

default monadLoggerLog :: (MonadLogger m', MonadTrans t, MonadLogger (t m'), ToLogStr msg, m ~ t m') => Loc -> LogSource -> LogLevel -> msg -> m () Source #

Instances

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

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> LoggingT m () Source #

Monad m => MonadLogger (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> NoLoggingT m () Source #

Monad m => MonadLogger (WriterLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> WriterLoggingT m () Source #

MonadLogger m => MonadLogger (ResourceT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> ResourceT m () Source #

MonadLogger m => MonadLogger (MaybeT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> MaybeT m () Source #

MonadLogger m => MonadLogger (ExceptT e m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> ExceptT e m () Source #

MonadLogger m => MonadLogger (IdentityT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> IdentityT m () Source #

MonadLogger m => MonadLogger (ReaderT r m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> ReaderT r m () Source #

MonadLogger m => MonadLogger (StateT s m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> StateT s m () Source #

MonadLogger m => MonadLogger (StateT s m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> StateT s m () Source #

(MonadLogger m, Monoid w) => MonadLogger (WriterT w m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> WriterT w m () Source #

(MonadLogger m, Monoid w) => MonadLogger (WriterT w m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> WriterT w m () Source #

MonadLogger m => MonadLogger (ConduitM i o m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> ConduitM i o m () Source #

MonadLogger m => MonadLogger (ContT r m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> ContT r m () Source #

(MonadLogger m, Monoid w) => MonadLogger (RWST r w s m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> RWST r w s m () Source #

(MonadLogger m, Monoid w) => MonadLogger (RWST r w s m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> RWST r w s m () Source #

MonadLogger m => MonadLogger (Pipe l i o u m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> Pipe l i o u m () Source #

class (MonadLogger m, MonadIO m) => MonadLoggerIO m where Source #

An extension of MonadLogger for the common case where the logging action is a simple IO action. The advantage of using this typeclass is that the logging function itself can be extracted as a first-class value, which can make it easier to manipulate monad transformer stacks, as an example.

Since: 0.3.10

Minimal complete definition

Nothing

Methods

askLoggerIO :: m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

Request the logging function itself.

Since: 0.3.10

default askLoggerIO :: (MonadTrans t, MonadLoggerIO n, m ~ t n) => m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

Instances

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

Defined in Control.Monad.Logger

Methods

askLoggerIO :: LoggingT m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

MonadIO m => MonadLoggerIO (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

MonadLoggerIO m => MonadLoggerIO (ResourceT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: ResourceT m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

MonadLoggerIO m => MonadLoggerIO (MaybeT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: MaybeT m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

MonadLoggerIO m => MonadLoggerIO (ExceptT e m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: ExceptT e m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

MonadLoggerIO m => MonadLoggerIO (IdentityT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: IdentityT m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

MonadLoggerIO m => MonadLoggerIO (ReaderT r m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: ReaderT r m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

MonadLoggerIO m => MonadLoggerIO (StateT s m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: StateT s m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

MonadLoggerIO m => MonadLoggerIO (StateT s m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: StateT s m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

(MonadLoggerIO m, Monoid w) => MonadLoggerIO (WriterT w m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: WriterT w m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

(MonadLoggerIO m, Monoid w) => MonadLoggerIO (WriterT w m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: WriterT w m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

MonadLoggerIO m => MonadLoggerIO (ConduitM i o m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: ConduitM i o m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

MonadLoggerIO m => MonadLoggerIO (ContT r m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: ContT r m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

(MonadLoggerIO m, Monoid w) => MonadLoggerIO (RWST r w s m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: RWST r w s m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

(MonadLoggerIO m, Monoid w) => MonadLoggerIO (RWST r w s m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: RWST r w s m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

MonadLoggerIO m => MonadLoggerIO (Pipe l i o u m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

askLoggerIO :: Pipe l i o u m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

data LogLevel Source #

Instances

Instances details
Read LogLevel Source # 
Instance details

Defined in Control.Monad.Logger

Show LogLevel Source # 
Instance details

Defined in Control.Monad.Logger

Eq LogLevel Source # 
Instance details

Defined in Control.Monad.Logger

Ord LogLevel Source # 
Instance details

Defined in Control.Monad.Logger

Lift LogLevel Source # 
Instance details

Defined in Control.Monad.Logger

Methods

lift :: Quote m => LogLevel -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => LogLevel -> Code m LogLevel #

type LogLine = (Loc, LogSource, LogLevel, LogStr) Source #

Since: 0.3.32

newtype LoggingT m a Source #

Monad transformer that adds a new logging function.

Since: 0.2.2

Constructors

LoggingT 

Fields

Instances

Instances details
MonadTransControl LoggingT Source # 
Instance details

Defined in Control.Monad.Logger

Associated Types

type StT LoggingT a #

Methods

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

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

MonadTrans LoggingT Source # 
Instance details

Defined in Control.Monad.Logger

Methods

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

MonadRWS r w s m => MonadRWS r w s (LoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

MonadBaseControl b m => MonadBaseControl b (LoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Associated Types

type StM (LoggingT m) a #

Methods

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

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

MonadError e m => MonadError e (LoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

throwError :: e -> LoggingT m a #

catchError :: LoggingT m a -> (e -> LoggingT m a) -> LoggingT m a #

MonadReader r m => MonadReader r (LoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

ask :: LoggingT m r #

local :: (r -> r) -> LoggingT m a -> LoggingT m a #

reader :: (r -> a) -> LoggingT m a #

MonadState s m => MonadState s (LoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

get :: LoggingT m s #

put :: s -> LoggingT m () #

state :: (s -> (a, s)) -> LoggingT m a #

MonadWriter w m => MonadWriter w (LoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

writer :: (a, w) -> LoggingT m a #

tell :: w -> LoggingT m () #

listen :: LoggingT m a -> LoggingT m (a, w) #

pass :: LoggingT m (a, w -> w) -> LoggingT m a #

MonadBase b m => MonadBase b (LoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

liftBase :: b α -> LoggingT m α #

MonadFail m => MonadFail (LoggingT m) Source #

Since: 0.3.30

Instance details

Defined in Control.Monad.Logger

Methods

fail :: String -> LoggingT m a #

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

Defined in Control.Monad.Logger

Methods

liftIO :: IO a -> LoggingT m a #

Alternative m => Alternative (LoggingT m) Source #

Since: 0.3.40

Instance details

Defined in Control.Monad.Logger

Methods

empty :: LoggingT m a #

(<|>) :: LoggingT m a -> LoggingT m a -> LoggingT m a #

some :: LoggingT m a -> LoggingT m [a] #

many :: LoggingT m a -> LoggingT m [a] #

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

Defined in Control.Monad.Logger

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 #

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

Defined in Control.Monad.Logger

Methods

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

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

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

Defined in Control.Monad.Logger

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 #

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

Defined in Control.Monad.Logger

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

Defined in Control.Monad.Logger

Methods

catch :: (HasCallStack, Exception e) => LoggingT m a -> (e -> LoggingT m a) -> LoggingT m a #

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

Defined in Control.Monad.Logger

Methods

mask :: HasCallStack => ((forall a. LoggingT m a -> LoggingT m a) -> LoggingT m b) -> LoggingT m b #

uninterruptibleMask :: HasCallStack => ((forall a. LoggingT m a -> LoggingT m a) -> LoggingT m b) -> LoggingT m b #

generalBracket :: HasCallStack => LoggingT m a -> (a -> ExitCase b -> LoggingT m c) -> (a -> LoggingT m b) -> LoggingT m (b, c) #

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

Defined in Control.Monad.Logger

Methods

throwM :: (HasCallStack, Exception e) => e -> LoggingT m a #

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

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> LoggingT m () Source #

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

Defined in Control.Monad.Logger

Methods

askLoggerIO :: LoggingT m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Source #

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

Defined in Control.Monad.Logger

Methods

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

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

Defined in Control.Monad.Logger

Methods

liftResourceT :: ResourceT IO a -> LoggingT m a #

MonadUnliftIO m => MonadUnliftIO (LoggingT m) Source #

Since: 0.3.26

Instance details

Defined in Control.Monad.Logger

Methods

withRunInIO :: ((forall a. LoggingT m a -> IO a) -> IO b) -> LoggingT m b #

(Applicative m, Monoid a) => Monoid (LoggingT m a) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

mempty :: LoggingT m a #

mappend :: LoggingT m a -> LoggingT m a -> LoggingT m a #

mconcat :: [LoggingT m a] -> LoggingT m a #

(Applicative m, Semigroup a) => Semigroup (LoggingT m a) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

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

sconcat :: NonEmpty (LoggingT m a) -> LoggingT m a #

stimes :: Integral b => b -> LoggingT m a -> LoggingT m a #

type StT LoggingT a Source # 
Instance details

Defined in Control.Monad.Logger

type StT LoggingT a = a
type StM (LoggingT m) a Source # 
Instance details

Defined in Control.Monad.Logger

type StM (LoggingT m) a = StM m a

newtype NoLoggingT m a Source #

Monad transformer that disables logging.

Since: 0.2.4

Constructors

NoLoggingT 

Fields

Instances

Instances details
MonadTransControl NoLoggingT Source # 
Instance details

Defined in Control.Monad.Logger

Associated Types

type StT NoLoggingT a #

Methods

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

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

MonadTrans NoLoggingT Source # 
Instance details

Defined in Control.Monad.Logger

Methods

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

MonadBaseControl b m => MonadBaseControl b (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Associated Types

type StM (NoLoggingT m) a #

Methods

liftBaseWith :: (RunInBase (NoLoggingT m) b -> b a) -> NoLoggingT m a #

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

MonadError e m => MonadError e (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

throwError :: e -> NoLoggingT m a #

catchError :: NoLoggingT m a -> (e -> NoLoggingT m a) -> NoLoggingT m a #

MonadReader r m => MonadReader r (NoLoggingT m) Source #

Since: 0.3.24

Instance details

Defined in Control.Monad.Logger

Methods

ask :: NoLoggingT m r #

local :: (r -> r) -> NoLoggingT m a -> NoLoggingT m a #

reader :: (r -> a) -> NoLoggingT m a #

MonadState s m => MonadState s (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

get :: NoLoggingT m s #

put :: s -> NoLoggingT m () #

state :: (s -> (a, s)) -> NoLoggingT m a #

MonadWriter w m => MonadWriter w (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

writer :: (a, w) -> NoLoggingT m a #

tell :: w -> NoLoggingT m () #

listen :: NoLoggingT m a -> NoLoggingT m (a, w) #

pass :: NoLoggingT m (a, w -> w) -> NoLoggingT m a #

MonadBase b m => MonadBase b (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

liftBase :: b α -> NoLoggingT m α #

MonadFail m => MonadFail (NoLoggingT m) Source #

Since: 0.3.30

Instance details

Defined in Control.Monad.Logger

Methods

fail :: String -> NoLoggingT m a #

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

Defined in Control.Monad.Logger

Methods

liftIO :: IO a -> NoLoggingT m a #

Alternative m => Alternative (NoLoggingT m) Source #

Since: 0.3.40

Instance details

Defined in Control.Monad.Logger

Methods

empty :: NoLoggingT m a #

(<|>) :: NoLoggingT m a -> NoLoggingT m a -> NoLoggingT m a #

some :: NoLoggingT m a -> NoLoggingT m [a] #

many :: NoLoggingT m a -> NoLoggingT m [a] #

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

Defined in Control.Monad.Logger

Methods

pure :: a -> NoLoggingT m a #

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

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

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

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

Functor m => Functor (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

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

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

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

Defined in Control.Monad.Logger

Methods

(>>=) :: NoLoggingT m a -> (a -> NoLoggingT m b) -> NoLoggingT m b #

(>>) :: NoLoggingT m a -> NoLoggingT m b -> NoLoggingT m b #

return :: a -> NoLoggingT m a #

MonadActive m => MonadActive (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

MonadCatch m => MonadCatch (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

catch :: (HasCallStack, Exception e) => NoLoggingT m a -> (e -> NoLoggingT m a) -> NoLoggingT m a #

MonadMask m => MonadMask (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

mask :: HasCallStack => ((forall a. NoLoggingT m a -> NoLoggingT m a) -> NoLoggingT m b) -> NoLoggingT m b #

uninterruptibleMask :: HasCallStack => ((forall a. NoLoggingT m a -> NoLoggingT m a) -> NoLoggingT m b) -> NoLoggingT m b #

generalBracket :: HasCallStack => NoLoggingT m a -> (a -> ExitCase b -> NoLoggingT m c) -> (a -> NoLoggingT m b) -> NoLoggingT m (b, c) #

MonadThrow m => MonadThrow (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

throwM :: (HasCallStack, Exception e) => e -> NoLoggingT m a #

Monad m => MonadLogger (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> NoLoggingT m () Source #

MonadIO m => MonadLoggerIO (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

MonadResource m => MonadResource (NoLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

MonadUnliftIO m => MonadUnliftIO (NoLoggingT m) Source #

Since: 0.3.26

Instance details

Defined in Control.Monad.Logger

Methods

withRunInIO :: ((forall a. NoLoggingT m a -> IO a) -> IO b) -> NoLoggingT m b #

(Applicative m, Monoid a) => Monoid (NoLoggingT m a) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

mempty :: NoLoggingT m a #

mappend :: NoLoggingT m a -> NoLoggingT m a -> NoLoggingT m a #

mconcat :: [NoLoggingT m a] -> NoLoggingT m a #

(Applicative m, Semigroup a) => Semigroup (NoLoggingT m a) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

(<>) :: NoLoggingT m a -> NoLoggingT m a -> NoLoggingT m a #

sconcat :: NonEmpty (NoLoggingT m a) -> NoLoggingT m a #

stimes :: Integral b => b -> NoLoggingT m a -> NoLoggingT m a #

type StT NoLoggingT a Source # 
Instance details

Defined in Control.Monad.Logger

type StT NoLoggingT a = a
type StM (NoLoggingT m) a Source # 
Instance details

Defined in Control.Monad.Logger

type StM (NoLoggingT m) a = StM m a

newtype WriterLoggingT m a Source #

Since: 0.3.28

Constructors

WriterLoggingT 

Fields

Instances

Instances details
MonadTransControl WriterLoggingT Source # 
Instance details

Defined in Control.Monad.Logger

Associated Types

type StT WriterLoggingT a #

Methods

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

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

MonadTrans WriterLoggingT Source # 
Instance details

Defined in Control.Monad.Logger

Methods

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

MonadBaseControl b m => MonadBaseControl b (WriterLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Associated Types

type StM (WriterLoggingT m) a #

MonadBase b m => MonadBase b (WriterLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

liftBase :: b α -> WriterLoggingT m α #

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

Defined in Control.Monad.Logger

Methods

liftIO :: IO a -> WriterLoggingT m a #

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

Defined in Control.Monad.Logger

Methods

pure :: a -> WriterLoggingT m a #

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

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

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

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

Functor m => Functor (WriterLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

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

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

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

Defined in Control.Monad.Logger

Methods

(>>=) :: WriterLoggingT m a -> (a -> WriterLoggingT m b) -> WriterLoggingT m b #

(>>) :: WriterLoggingT m a -> WriterLoggingT m b -> WriterLoggingT m b #

return :: a -> WriterLoggingT m a #

MonadCatch m => MonadCatch (WriterLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

catch :: (HasCallStack, Exception e) => WriterLoggingT m a -> (e -> WriterLoggingT m a) -> WriterLoggingT m a #

MonadMask m => MonadMask (WriterLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

mask :: HasCallStack => ((forall a. WriterLoggingT m a -> WriterLoggingT m a) -> WriterLoggingT m b) -> WriterLoggingT m b #

uninterruptibleMask :: HasCallStack => ((forall a. WriterLoggingT m a -> WriterLoggingT m a) -> WriterLoggingT m b) -> WriterLoggingT m b #

generalBracket :: HasCallStack => WriterLoggingT m a -> (a -> ExitCase b -> WriterLoggingT m c) -> (a -> WriterLoggingT m b) -> WriterLoggingT m (b, c) #

MonadThrow m => MonadThrow (WriterLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

throwM :: (HasCallStack, Exception e) => e -> WriterLoggingT m a #

Monad m => MonadLogger (WriterLoggingT m) Source # 
Instance details

Defined in Control.Monad.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> WriterLoggingT m () Source #

(Applicative m, Monoid a) => Monoid (WriterLoggingT m a) Source # 
Instance details

Defined in Control.Monad.Logger

(Applicative m, Semigroup a) => Semigroup (WriterLoggingT m a) Source # 
Instance details

Defined in Control.Monad.Logger

type StT WriterLoggingT a Source # 
Instance details

Defined in Control.Monad.Logger

type StM (WriterLoggingT m) a Source # 
Instance details

Defined in Control.Monad.Logger

runStderrLoggingT :: MonadIO m => LoggingT m a -> m a Source #

Run a block using a MonadLogger instance which prints to stderr.

Since: 0.2.2

runStdoutLoggingT :: MonadIO m => LoggingT m a -> m a Source #

Run a block using a MonadLogger instance which prints to stdout.

Since: 0.2.2

runChanLoggingT :: MonadIO m => Chan LogLine -> LoggingT m a -> m a Source #

Run a block using a MonadLogger instance which writes tuples to an unbounded channel.

The tuples can be extracted (ie. in another thread) with unChanLoggingT or a custom extraction funtion, and written to a destination.

Since: 0.3.17

runFileLoggingT :: MonadBaseControl IO m => FilePath -> LoggingT m a -> m a Source #

Run a block using a MonadLogger instance which appends to the specified file.

Since: 0.3.22

unChanLoggingT :: (MonadLogger m, MonadIO m) => Chan LogLine -> m void Source #

Read logging tuples from an unbounded channel and log them into a MonadLoggerIO monad, forever.

For use in a dedicated thread with a channel fed by runChanLoggingT.

Since: 0.3.17

withChannelLogger Source #

Arguments

:: (MonadBaseControl IO m, MonadIO m) 
=> Int

Number of messages to keep

-> LoggingT m a 
-> LoggingT m a 

Within the LoggingT monad, capture all log messages to a bounded channel of the indicated size, and only actually log them if there is an exception.

Since: 0.3.2

filterLogger :: (LogSource -> LogLevel -> Bool) -> LoggingT m a -> LoggingT m a Source #

Only log messages passing the given predicate function.

This can be a convenient way, for example, to ignore debug level messages.

Since: 0.3.13

mapNoLoggingT :: (m a -> n b) -> NoLoggingT m a -> NoLoggingT n b Source #

Map the unwrapped computation using the given function.

Since: 0.3.29

execWriterLoggingT :: Functor m => WriterLoggingT m a -> m [LogLine] Source #

Run a block using a MonadLogger instance. Return logs in a list | @since 0.3.28

runWriterLoggingT :: Functor m => WriterLoggingT m a -> m (a, [LogLine]) Source #

Run a block using a MonadLogger instance. Return a value and logs in a list | @since 0.3.28

mapLoggingT :: (m a -> n b) -> LoggingT m a -> LoggingT n b Source #

Map the unwrapped computation using the given function.

Since: 0.3.29

logDebugS :: Q Exp Source #

Generates a function that takes a LogSource and Text and logs a LevelDebug message. Usage:

$logDebugS "SomeSource" "This is a debug log message"

logOtherS :: Q Exp Source #

Generates a function that takes a LogSource, a level name and a Text and logs a LevelOther message. Usage:

$logOtherS "SomeSource" "My new level" "This is a log message"

liftLoc :: Loc -> Q Exp Source #

Lift a location into an Exp.

Since: 0.3.1

logInfoN :: MonadLogger m => Text -> m () Source #

logWarnN :: MonadLogger m => Text -> m () Source #

logWithoutLoc :: (MonadLogger m, ToLogStr msg) => LogSource -> LogLevel -> msg -> m () Source #

Since: 0.3.23

logDebugCS :: MonadLogger m => CallStack -> Text -> m () Source #

Logs a message with location given by CallStack. See CallStack for more convenient functions for CallStack based logging.

Since: 0.3.19

logInfoCS :: MonadLogger m => CallStack -> Text -> m () Source #

See logDebugCS

Since: 0.3.19

logWarnCS :: MonadLogger m => CallStack -> Text -> m () Source #

See logDebugCS

Since: 0.3.19

logErrorCS :: MonadLogger m => CallStack -> Text -> m () Source #

See logDebugCS

Since: 0.3.19

logOtherCS :: MonadLogger m => CallStack -> LogLevel -> Text -> m () Source #

See logDebugCS

Since: 0.3.19

defaultLoc :: Loc Source #

dummy location, used with logWithoutLoc

Since: 0.3.23

defaultOutput :: Handle -> Loc -> LogSource -> LogLevel -> LogStr -> IO () Source #

A default implementation of monadLoggerLog that accepts a file handle as the first argument.

This is used in the definition of runStdoutLoggingT:

runStdoutLoggingT :: MonadIO m => LoggingT m a -> m a
runStdoutLoggingT action =
    runLoggingT action (defaultOutput stdout)

Since: 0.3.36

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

Logs a message with the location provided by an implicit CallStack.

Since: 0.3.19

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

See logDebug

Since: 0.3.19

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

See logDebug

Since: 0.3.19

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

See logDebug

Since: 0.3.19

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

See logDebug

Since: 0.3.25

logDebugSH :: (HasCallStack, MonadLogger m, Show a) => a -> m () Source #

Logs a showable value with the location provided by an implicit CallStack.

Since: 0.3.25

logInfoSH :: (HasCallStack, MonadLogger m, Show a) => a -> m () Source #

See logDebugSH

Since: 0.3.25

logWarnSH :: (HasCallStack, MonadLogger m, Show a) => a -> m () Source #

See logDebugSH

Since: 0.3.25

logErrorSH :: (HasCallStack, MonadLogger m, Show a) => a -> m () Source #

See logDebugSH

Since: 0.3.25

logOtherSH :: (HasCallStack, MonadLogger m, Show a) => LogLevel -> a -> m () Source #

See logDebugSH

Since: 0.3.25