Colog.Core

co-log-core-0.3.2.4: Composable Contravariant Comonadic Logging Library

Copyright | (c) 2018-2020 Kowainik 2021-2025 Co-Log
License | MPL-2.0
Maintainer | Co-Log <xrom.xkov@gmail.com>
Stability | Stable
Portability | Portable
Safe Haskell | None
Language | Haskell2010

Colog.Core

Description

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 `MonadIO` and `String`.
- Colog.Core.Severity: logger severity.

# Documentation

module Colog.Core.Action

module Colog.Core.Class

module Colog.Core.IO

module Colog.Core.Severity