fused-effects-logger-0.0.1.1: Logger effect for the `fused-effects` library
Safe HaskellNone
LanguageHaskell2010

Control.Effect.Logger

Description

A simple logger effect that takes all the information a MonadLogger monad would take. Use the logging functions of MonadLogger to log things the way you want, as there are many options there (TH or non-TH).

Documentation

data Logger (m :: Type -> Type) k where Source #

Constructors

LoggerLog :: forall msg (m :: Type -> Type). ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> Logger m ()

See monadLoggerLog.

Instances

Instances details
(Algebra sig m, MonadIO m) => Algebra (Logger :+: sig) (LoggerIOC HandleSelector m) Source # 
Instance details

Defined in Control.Carrier.Logger.IO

Methods

alg :: forall ctx (n :: Type -> Type) a. Functor ctx => Handler ctx n (LoggerIOC HandleSelector m) -> (Logger :+: sig) n a -> ctx () -> LoggerIOC HandleSelector m (ctx a) #

(Algebra sig m, Applicative w, Monoid (w LogLine)) => Algebra (Logger :+: sig) (LoggerWriterC w m) Source # 
Instance details

Defined in Control.Carrier.Logger.Writer

Methods

alg :: forall ctx (n :: Type -> Type) a. Functor ctx => Handler ctx n (LoggerWriterC w m) -> (Logger :+: sig) n a -> ctx () -> LoggerWriterC w m (ctx a) #

Orphan instances

(Has Logger sig m, Monad m) => MonadLogger m Source #

Unfortunately, we need to implement the MonadLogger instance as an orphan in order to be able to use the same interface as MonadLogger.

Instance details

Methods

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