@hackage log-base0.12.1.0
Structured logging solution (base package)
Categories
License
BSD-3-Clause
Maintainer
Andrzej Rybczak <andrzej@rybczak.net>, Jonathan Jouty <jonathan@scrive.com>, Mikhail Glushenkov <mikhail@scrive.com>, Oleg Grenrus <oleg.grenrus@iki.fi>
Links
Versions
Installation
Tested Compilers
Dependencies (16)
- aeson >=1.0
- aeson-pretty >=0.8.2
- base >=4.13 && <5
- bytestring
- deepseq
- exceptions >=0.6 Show all…
Dependents (9)
@hackage/consumers, @hackage/log, @hackage/hpqtypes-extras, @hackage/wai-log, @hackage/log-effectful, @hackage/log-postgres, Show all…
log
A set of libraries that provide a way to record structured log messages with multiple backends.
Supported backends:
- Standard output via
log-base. - Elasticsearch via
log-elasticsearch. - PostgreSQL via
log-postgres.
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"