hslogger-1.2.9: Versatile logging framework

Copyright | Copyright (C) 2004-2011 John Goerzen
License | BSD3
Maintainer | John Goerzen <jgoerzen@complete.org>
Stability | provisional
Portability | portable
Safe Haskell | Safe
Language | Haskell98

System.Log.Handler

Contents

- Basic Types

Description

Definition of log handler support

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

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

Written by John Goerzen, jgoerzen@complete.org

Synopsis

- class LogHandler a where
  - setLevel :: a -> Priority -> a
  - getLevel :: a -> Priority
  - setFormatter :: a -> LogFormatter a -> a
  - getFormatter :: a -> LogFormatter a
  - handle :: a -> LogRecord -> String -> IO ()
  - emit :: a -> LogRecord -> String -> IO ()
  - close :: a -> IO ()

# Basic Types

class LogHandler a where

All log handlers should adhere to this.

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

Minimal complete definition

setLevel, getLevel, setFormatter, emit, close

Methods

setLevel :: a -> Priority -> a

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

getLevel :: a -> Priority

Gets the current level.

setFormatter :: a -> LogFormatter a -> a

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

getFormatter :: a -> LogFormatter a

handle :: a -> LogRecord -> String -> IO ()

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

emit :: a -> LogRecord -> String -> IO ()

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

close :: a -> IO ()

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

Instances

LogHandler (GenericHandler a) |