yet-another-logger: Yet Another Logger
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
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
This Version is yet a preview
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]
Properties
Versions | 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, 0.3.1, 0.4.0, 0.4.1, 0.4.2 |
---|---|
Change log | CHANGELOG.md |
Dependencies | aeson (>=0.11), ansi-terminal (>=0.6), async (>=2.0), base (>=4.8 && <5.0), 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.4), enclosed-exceptions (>=1.0), exceptions (>=0.8), lens (>=4.6), lifted-base (>=0.2.3), monad-control (>=1.0), mtl (>=2.2), optparse-applicative (>=0.11), stm (>=2.4), stm-chans (>=3.0), text (>=1.2), time (>=1.5), transformers (>=0.3), transformers-base (>=0.4), void (>=0.7), yet-another-logger [details] |
License | Apache-2.0 |
Copyright | Copyright (c) 2016-2018 Lars Kuhtz <lakuhtz@gmail.com> Copyright (c) 2014-2015 PivotCloud, Inc. |
Author | Lars Kuhtz <lakuhtz@gmail.com> |
Maintainer | Lars Kuhtz <lakuhtz@gmail.com> |
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.3.1) |
Uploaded | by larsk at 2018-10-05T02:44:04Z |
Modules
[Index] [Quick Jump]
Downloads
- yet-another-logger-0.3.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees