log-warper-1.7.4: Flexible, configurable, monadic and pretty logging

CopyrightCopyright (C) 2004-2011 John Goerzen
MaintainerJohn Goerzen <jgoerzen@complete.org>
Safe HaskellNone




Definition of log handler support

For some handlers, check out System.WLog.Handler.Simple and System.WLog.Handler.Syslog.

Please see System.WLog.Logger for extensive documentation on the logging system.

Written by John Goerzen, jgoerzen@complete.org


Basic Types

class LogHandler a where Source #

This is the base class for the various log handlers. They should all adhere to this class.

Minimal complete definition

getTag, setLevel, getLevel, setFormatter, emit, readBack, close


getTag :: a -> LogHandlerTag Source #

Tag of handler. Is arbitrary. Made for identification.

setLevel :: a -> Severities -> a Source #

Sets the log level. handle will drop items beneath this level.

getLevel :: a -> Severities Source #

Gets the current level.

setFormatter :: a -> LogFormatter a -> a Source #

Set a log formatter to customize the log format for this Handler

getFormatter :: a -> LogFormatter a Source #

emit :: MonadIO m => a -> Builder -> Text -> m () Source #

Forces an event to be logged regardless of the configured level.

readBack :: MonadIO m => a -> Int -> m [Text] Source #

Read back from logger (e.g. file), newest first. You specify the number of (newest) logging entries. Logger can return pure [] if this behaviour can't be emulated or store buffer.

close :: MonadIO m => a -> m () Source #

Closes the logging system, causing it to close any open files, etc.


LogHandler SyslogHandler Source # 
LogHandler RollerHandler Source # 
Typeable * a => LogHandler (GenericHandler a) Source # 

logHandlerMessage :: (MonadIO m, LogHandler a) => a -> LogRecord -> LoggerName -> m () Source #

Logs an event if it meets the requirements given by the most recent call to setLevel.