yet-another-logger: Yet Another Logger
A logging framework written with flexibility and performance in mind.
Quick Start
import System.Logger main ∷ IO () main = withConsoleLogger Info $ do logg Info "moin" withLabel ("function", "f") f logg Warn "tschüss" where f = withLevel Debug $ do logg Debug "debug f"
Description
The logging system consists of four main parts:
The logging front-end are those types and functions that are used to produce log messages in the code. This includes the
LogLevel
type, theLogPolicy
type, theLogLabel
andLogScope
types, theLogFunction
type, and theMonadLog
type class.The abstract
LoggerCtx
is the context through which theLogFunction
delivers log messages to the logger back-end.The formatter is a function for serializing log messages.
The logger back-end is a callback that is invoked by
Logger
on each log messages. The logger back-end applies the formatting function and delivers the log messages to some sink.
The framework allows to combine this components in a modular way. The
front-end types, the Logger
, and the back-end callback are represented
by types or type classes. The formatter exists only as a concept
in the implementation of back-ends. These types and concepts together
form the abstract logger interface that is defined in the module
System.Logger.Types.
The package also provides a concrete Logger that implements these components in the module System.Logger.Logger and System.Logger.Backend.Handle
[Skip to Readme]
Versions [faq] | 0.0.1, 0.1, 0.1.1, 0.1.1.1, 0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.3.1, 0.3.0, 0.3.1 |
---|---|
Change log | CHANGELOG.md |
Dependencies | aeson (>=0.7), ansi-terminal (>=0.6), async (>=2.0), base (==4.*), base-unicode-symbols (>=0.2), bytestring (>=0.10), Cabal (>=1.18), case-insensitive (>=1.2), clock (>=0.4), configuration-tools (>=0.2.8), deepseq (>=1.3), either (>=4.3), enclosed-exceptions (>=1.0), lens (>=4.6), lifted-base (>=0.2.3), monad-control (>=1.0), mtl (>=2.2), nats (>=1), optparse-applicative (>=0.11), stm (>=2.4), stm-chans (>=3.0), text (>=1.2), time (>=1.5), trace (>=0.2), transformers (>=0.3), transformers-base (>=0.4), void (>=0.7), yet-another-logger [details] |
License | Apache-2.0 |
Copyright | Copyright (c) 2014-2015 PivotCloud, Inc. |
Author | Lars Kuhtz <lkuhtz@pivotmail.com> |
Maintainer | Lars Kuhtz <lkuhtz@pivotmail.com> |
Revised | Revision 1 made by larsk at Wed Nov 18 23:15:00 UTC 2015 |
Category | Logging, System |
Home page | https://github.com/alephcloud/hs-yet-another-logger |
Source repo | head: git clone https://github.com/alephcloud/hs-yet-another-logger this: git clone https://github.com/alephcloud/hs-yet-another-logger -b master(tag 0.2.3.1) |
Uploaded | by larsk at Thu May 7 05:37:31 UTC 2015 |
Distributions | NixOS:0.3.1 |
Executables | example |
Downloads | 3251 total (123 in the last 30 days) |
Rating | (no votes yet) [estimated by rule of succession] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2015-05-07 [all 1 reports] |
Modules
[Index]
Downloads
- yet-another-logger-0.2.3.1.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.