co-log-core-0.3.2.2: src/Colog/Core.hs
{- |
Module : Colog.Core
Copyright : (c) 2018-2020 Kowainik, 2021-2024 Co-Log
SPDX-License-Identifier : MPL-2.0
Maintainer : Co-Log <xrom.xkov@gmail.com>
Stability : Stable
Portability : Portable
Exports all core functionality. @co-log-core@ is a lightweight package that
defines only core data type and various combinators to work with it.
Fundamentals of @co-log-core@ are based on the following data type:
@
__newtype__ LogAction m msg = LogAction
{ unLogAction :: msg -> m ()
}
@
This data type provides extremely composable and flexible interface by having
many instances of the standard algebraic data types.
The package has the following structure:
* __"Colog.Core.Action":__ definition of the main data type and its combinators.
* __"Colog.Core.Class":__ 'HasLog' typeclass that describes how different values
(e.g. application environment) can store and modify 'LogAction'.
* __"Colog.Core.IO":__ basic loggers that work with 'Control.Monad.IO.Class.MonadIO' and 'String'.
* __"Colog.Core.Severity":__ logger severity.
-}
module Colog.Core
( module Colog.Core.Action
, module Colog.Core.Class
, module Colog.Core.IO
, module Colog.Core.Severity
) where
import Colog.Core.Action
import Colog.Core.Class
import Colog.Core.IO
import Colog.Core.Severity