extensible-effects-concurrent-0.32.0: Message passing concurrency as extensible-effect

Safe HaskellNone
LanguageHaskell2010

Control.Eff.Log.Writer

Contents

Description

The LogWriter type encapsulates an IO action to write LogMessages.

Synopsis

LogWriter Definition

newtype LogWriter Source #

A function that takes a log message and returns an effect that logs the message.

Constructors

MkLogWriter 

Fields

LogWriter Reader Effect

type LogWriterReader = Reader LogWriter Source #

A Reader effect for LogWriters.

Since: 0.31.0

localLogWriterReader :: forall e a. Member LogWriterReader e => (LogWriter -> LogWriter) -> Eff e a -> Eff e a Source #

Modify the current LogWriter.

runLogWriterReader :: LogWriter -> Eff (Reader LogWriter ': e) a -> Eff e a Source #

Provide the LogWriter

Exposed for custom extensions, if in doubt use withLogging.

LogWriter utilities

liftWriteLogMessage :: (Member LogWriterReader e, Lifted IO e) => LogMessage -> Eff e () Source #

Write a message using the LogWriter found in the environment.

noOpLogWriter :: LogWriter Source #

This LogWriter will discard all messages.

NOTE: This is just an alias for mempty

filteringLogWriter :: LogPredicate -> LogWriter -> LogWriter Source #

A LogWriter that applies a predicate to the LogMessage and delegates to to the given writer of the predicate is satisfied.

mappingLogWriter :: (LogMessage -> LogMessage) -> LogWriter -> LogWriter Source #

A LogWriter that applies a function to the LogMessage and delegates the result to to the given writer.

mappingLogWriterIO :: (LogMessage -> IO LogMessage) -> LogWriter -> LogWriter Source #

Like mappingLogWriter allow the function that changes the LogMessage to have effects.

ioHandleLogWriter :: Handle -> LogMessageRenderer Text -> LogWriter Source #

Append the LogMessage to an Handle after rendering it.

Since: 0.31.0

stdoutLogWriter :: LogMessageRenderer Text -> IO LogWriter Source #

Render a LogMessage to stdout.

This function will also set the BufferMode of stdout to LineBuffering.

See ioHandleLogWriter.

Since: 0.31.0