| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.Eff.Log.Writer
Description
The LogWriter type encapsulates an IO action to write LogMessages.
Synopsis
- newtype LogWriter = MkLogWriter {
- runLogWriter :: LogMessage -> IO ()
- type LogWriterReader = Reader LogWriter
- localLogWriterReader :: forall e a. Member LogWriterReader e => (LogWriter -> LogWriter) -> Eff e a -> Eff e a
- askLogWriter :: Member LogWriterReader e => Eff e LogWriter
- runLogWriterReader :: LogWriter -> Eff (Reader LogWriter ': e) a -> Eff e a
- liftWriteLogMessage :: (Member LogWriterReader e, Lifted IO e) => LogMessage -> Eff e ()
- noOpLogWriter :: LogWriter
- filteringLogWriter :: LogPredicate -> LogWriter -> LogWriter
- mappingLogWriter :: (LogMessage -> LogMessage) -> LogWriter -> LogWriter
- mappingLogWriterIO :: (LogMessage -> IO LogMessage) -> LogWriter -> LogWriter
- ioHandleLogWriter :: Handle -> LogMessageRenderer Text -> LogWriter
- stdoutLogWriter :: LogMessageRenderer Text -> IO LogWriter
LogWriter Definition
A function that takes a log message and returns an effect that logs the message.
Constructors
| MkLogWriter | |
Fields
| |
LogWriter Reader Effect
localLogWriterReader :: forall e a. Member LogWriterReader e => (LogWriter -> LogWriter) -> Eff e a -> Eff e a Source #
Modify the current LogWriter.
askLogWriter :: Member LogWriterReader e => Eff e LogWriter Source #
Get 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.
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