katip-0.1.0.0: src/Katip.hs
-- | Includes all of the API's youll need to use Katip. Be sure to
-- check out the included @examples@ directory for an example of
-- usage.
--
-- To get up and running, the workflow is generally:
--
-- * Set up a 'LogEnv' using 'initLogEnv'.
--
-- * Add 'Scribe's using 'registerScribe'.
--
-- * Either use 'KatipT' or 'KatipContextT' for a pre-built
-- transformer stack or add 'Katip' and 'KatipContext' instances to
-- your own transformer stack. If you do the latter, you may want to
-- look in the @examples@ dir for some tips on composing contexts and
-- namespaces.
--
-- * Define some structured log data throughout your application and
-- implement 'ToObject' and 'LogItem' for them.
--
-- * Begin logging with 'logT', 'logTM', etc.
--
-- * Define your own 'Scribe' if you need to output to some as-yet
-- unsupported format or service. If you think it would be useful to
-- others, consider releasing your own package.
module Katip
(
-- * Framework Types
Katip (..)
, Namespace (..)
, Environment (..)
, Severity (..)
, renderSeverity
, severityText
, Verbosity (..)
, ToObject (..)
, LogItem (..)
, Item(..)
, itemApp
, itemEnv
, itemSeverity
, itemThread
, itemHost
, itemProcess
, itemPayload
, itemMessage
, itemTime
, itemNamespace
, itemLoc
, ThreadIdText(..)
, PayloadSelection (..)
, Scribe (..)
, LogEnv (..)
, logEnvHost
, logEnvPid
, logEnvNs
, logEnvEnv
, logEnvTimer
, logEnvScribes
, KatipContext(..)
, AnyLogContext
, LogContexts, liftPayload
, SimpleLogPayload, sl
-- * A Built-in Monad For Logging
, KatipT (..)
, runKatipT
-- * Initializing Loggers
, initLogEnv
, registerScribe
, unregisterScribe
, clearScribes
-- * Logging Functions
, LogStr (..)
, logStr, ls, showLS
, logF
, logMsg
, logT
, logItem
, logException
, logFM
, logTM
, logItemM
, logExceptionM
-- * Included Scribes
, mkHandleScribe
, ColorStrategy (..)
-- * Tools for implementing Scribes
, permitItem
, payloadObject
, itemJson
-- * KatipContextT - Utility transformer that provides Katip and KatipContext instances
, KatipContextT
, runKatipContextT
) where
-------------------------------------------------------------------------------
import Katip.Core
import Katip.Monadic
import Katip.Scribes.Handle
-------------------------------------------------------------------------------