Safe Haskell | None |
---|---|
Language | Haskell2010 |
Small layer on top of fast-logger
which adds log-levels and
timestamp support and not much more.
- data Settings
- defSettings :: Settings
- logLevel :: Settings -> Level
- setLogLevel :: Level -> Settings -> Settings
- logLevelOf :: Text -> Settings -> Maybe Level
- setLogLevelOf :: Text -> Level -> Settings -> Settings
- output :: Settings -> Output
- setOutput :: Output -> Settings -> Settings
- format :: Settings -> Maybe DateFormat
- setFormat :: Maybe DateFormat -> Settings -> Settings
- delimiter :: Settings -> ByteString
- setDelimiter :: ByteString -> Settings -> Settings
- netstrings :: Settings -> Bool
- setNetStrings :: Bool -> Settings -> Settings
- bufSize :: Settings -> Int
- setBufSize :: Int -> Settings -> Settings
- name :: Settings -> Maybe Text
- setName :: Maybe Text -> Settings -> Settings
- data Logger
- data Level
- data Output
- newtype DateFormat = DateFormat {
- display :: UnixTime -> ByteString
- iso8601UTC :: DateFormat
- new :: MonadIO m => Settings -> m Logger
- create :: MonadIO m => Output -> m Logger
- level :: Logger -> Level
- flush :: MonadIO m => Logger -> m ()
- close :: MonadIO m => Logger -> m ()
- clone :: Maybe Text -> Logger -> Logger
- settings :: Logger -> Settings
- log :: MonadIO m => Logger -> Level -> (Msg -> Msg) -> m ()
- trace :: MonadIO m => Logger -> (Msg -> Msg) -> m ()
- debug :: MonadIO m => Logger -> (Msg -> Msg) -> m ()
- info :: MonadIO m => Logger -> (Msg -> Msg) -> m ()
- warn :: MonadIO m => Logger -> (Msg -> Msg) -> m ()
- err :: MonadIO m => Logger -> (Msg -> Msg) -> m ()
- fatal :: MonadIO m => Logger -> (Msg -> Msg) -> m ()
Settings
defSettings :: Settings Source #
Default settings:
logLevel
=Debug
output
=StdOut
format
=iso8601UTC
delimiter
= ", "netstrings
= FalsebufSize
=defaultBufSize
name
= Nothing
setLogLevelOf :: Text -> Level -> Settings -> Settings Source #
Specify a log level for the given named logger. When a logger is
clone
d and given a name, the logLevel
of the cloned logger will be
the provided here.
format :: Settings -> Maybe DateFormat Source #
The time and date format used for the timestamp part of a log line.
delimiter :: Settings -> ByteString Source #
Delimiter string which separates log line parts.
setDelimiter :: ByteString -> Settings -> Settings Source #
Type definitions
newtype DateFormat Source #
DateFormat | |
|
iso8601UTC :: DateFormat Source #
ISO 8601 date-time format.
Core API
create :: MonadIO m => Output -> m Logger Source #
Invokes new
with default settings and the given output as log sink.
clone :: Maybe Text -> Logger -> Logger Source #
Clone the given logger and optionally give it a name
(use Nothing
to clear).
If logLevelOf
returns a custom Level
for this name
then the cloned logger will use it for its log messages.
Logging
log :: MonadIO m => Logger -> Level -> (Msg -> Msg) -> m () Source #
Logs a message with the given level if greater or equal to the logger's threshold.
trace :: MonadIO m => Logger -> (Msg -> Msg) -> m () Source #
Abbreviation of log
using the corresponding log level.
debug :: MonadIO m => Logger -> (Msg -> Msg) -> m () Source #
Abbreviation of log
using the corresponding log level.
info :: MonadIO m => Logger -> (Msg -> Msg) -> m () Source #
Abbreviation of log
using the corresponding log level.
warn :: MonadIO m => Logger -> (Msg -> Msg) -> m () Source #
Abbreviation of log
using the corresponding log level.