BSD-3-Clause licensed by Scrive AB
This version can be pinned in stack with:log-base-0.12.0.1@sha256:cd22a5277c58117aef574a846afd6cad17dfec3e505da6c03662246fdd9ee7b0,2752

Module documentation for 0.12.0.1

log

Hackage version Build Status

A set of libraries that provide a way to record structured log messages with multiple backends.

Supported backends:

Example

A sample usage for logging to both standard output and Elasticsearch:

{-# LANGUAGE OverloadedStrings #-}
module Main where

import Log
import Log.Backend.ElasticSearch
import Log.Backend.StandardOutput

main :: IO ()
main = do
  let config = defaultElasticSearchConfig
        { esServer = "http://localhost:9200"
        , esIndex  = "logs"
        }
  withStdOutLogger $ \stdoutLogger -> do
    withElasticSearchLogger config $ \esLogger -> do
      runLogT "main" (stdoutLogger <> esLogger) defaultLogLevel $ do
        logInfo_ "Hi there"

Changes

log-base-0.12.0.1 (2023-03-14)

  • Add support for GHC 9.6.

log-base-0.12.0.0 (2022-09-21)

  • Deprecate withSimpleStdOutLogger as it’s broken in multithreaded environments.
  • Generalize logger related functions to MonadUnliftIO.
  • Remove redundant INLINE pragmas.

log-base-0.11.1.0 (2022-04-04)

  • Add support for aeson 2.0.1.0.
  • Add support for GHC 9.2.
  • Drop support for GHC < 8.8.

log-base-0.11.0.0 (2021-10-11)

  • Add support for defining maximum log level.

log-base-0.10.0.1 (2021-07-29)

  • Fix compilation issues caused by ambiguos occurence of controlT.

log -base-0.10.0.0 (2021-06-09)

  • Drop MonadTime constraint and use system time by default.

log-base-0.9.1.1 (2021-05-28)

  • Support GHC 9.0.

log-base-0.9.1.0 (2021-03-01)

  • Add a LogList logger

log-base-0.9.0.0 (2020-09-07)

  • Always make data attached to a log message a json object
  • Add unliftio-core-0.2 compatiblity
  • Tidy up flushing stdout in stdout loggers
  • Use simpleStdoutLogger in withSimpleStdOutLogger instead of stdoutLogger
  • Remove deprecated functions
  • Add JSON loggers
  • Make mkLogger use bounded queue internally (similar to mkBulkLogger)
  • Get rid of a space leak in bounded queue used in mkBulkLogger

log-base-0.8.0.1 (2020-05-08)

  • Update version bounds.

log-base-0.8.0.0 (2019-04-09)

  • Add getLoggerEnv function to MonadLog class, add getLoggerIO utility (#46).
  • Add a MonadUnliftIO instance for LogT (#47).

log-base-0.7.4.0 (2017-10-27)

  • Add mkBulkLogger' (#40).

log-base-0.7.3.0 (2017-10-10)

  • BasicStdOutLogger now flushes stdout on each write. BulkStdOutLogger now flushes stdout on each bulk write (#38).

log-base-0.7.2.0 (2017-08-10)

  • Add ‘MFunctor LogT’ instance (#35 ).

log-base-0.7.1.1 (2017-06-19)

  • mkBulkLogger now uses a bounded queue to interact with the logger thread.

log-base-0.7.1 (2017-03-16)

  • Added a few MTL class instances (#28).

log-base-0.7 (2016-11-25)

  • Initial release (split from the log package).
  • Improved documentation (#22).
  • Implement ‘toEncoding’ directly in ‘ToJSON’ instances (#21).