-- | Structured logging solution with multiple backends. -- -- @ -- {-\# LANGUAGE OverloadedStrings #-} -- -- module Main where -- -- import Log -- import Log.Backend.ElasticSearch -- -- import System.Random -- -- main :: IO () -- main = do -- let config = 'Log.Backend.ElasticSearch.ElasticSearchConfig' { -- esServer = "http://localhost:9200", -- esIndex = "logs", -- esMapping = "log" -- } -- 'Log.Backend.ElasticSearch.withElasticSearchLogger' config randomIO $ \\logger -> do -- 'runLogT' "main" logger $ do -- 'logTrace_' "foo" -- @ module Log ( -- * Documentation -- | 'Log.Class.MonadLog' type class of monads with logging capabilities. module Log.Class -- | 'Log.Data.LogMessage' and 'Log.Data.LogLevel' data definitions. , module Log.Data -- | 'Log.Logger.Logger' objects used to perform logging operations in 'Log.Monad.LogT'. , module Log.Logger -- | 'Log.Monad.LogT' monad transformer that adds logging capabilities to -- the underlying monad. , module Log.Monad -- * Aeson re-exports , object , (.=) ) where import Data.Aeson import Log.Class import Log.Data import Log.Logger import Log.Monad