Name: yet-another-logger
Version: 0.2
Synopsis: Yet Another Logger
Description:
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:
.
1. The logging front-end are those types and functions that are used
to produce log messages in the code. This includes the 'LogLevel'
type, the 'LogPolicy' type, the 'LogLabel' and 'LogScope' types,
the 'LogFunction' type, and the 'MonadLog' type class.
.
2. The abstract 'LoggerCtx' is the context through which the 'LogFunction'
delivers log messages to the logger back-end.
.
3. The formatter is a function for serializing log messages.
.
4. 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"
Homepage: https://github.com/alephcloud/hs-yet-another-logger
License: Apache-2.0
Author: Lars Kuhtz <lkuhtz@pivotmail.com>
Maintainer: Lars Kuhtz <lkuhtz@pivotmail.com>
Copyright: Copyright (c) 2014-2015 PivotCloud, Inc.
Category: Logging, System
Build-type: Simple
Cabal-version: >= 1.18
License-file: LICENSE
extra-doc-files:
README.md,
CHANGELOG.md
extra-source-files:
constraints
source-repository head
type: git
location: https://github.com/alephcloud/hs-yet-another-logger
source-repository this
type: git
location: https://github.com/alephcloud/hs-yet-another-logger
branch: master
tag: 0.2
Library
default-language: Haskell2010
hs-source-dirs: src
exposed-modules:
System.Logger
System.Logger.Backend.ColorOption
System.Logger.Backend.Handle
System.Logger.Internal
System.Logger.Internal.Queue
System.Logger.Logger
System.Logger.Logger.Internal
System.Logger.Types
build-depends:
async >= 2.0,
aeson >= 0.7,
ansi-terminal >= 0.6,
base == 4.*,
base-unicode-symbols >= 0.2,
bytestring >= 0.10,
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,
optparse-applicative >= 0.11,
stm >= 2.4,
stm-chans >= 3.0,
text >= 1.2,
time >= 1.5,
trace >= 0.1,
transformers >= 0.3,
transformers-base >= 0.4,
void >= 0.7
if !impl(ghc>=7.9)
build-depends:
nats >= 1
ghc-options: -Wall
test-suite tests
type: exitcode-stdio-1.0
default-language: Haskell2010
hs-source-dirs: test
main-is: Main.hs
other-modules:
NoBackend
TastyTools
build-depends:
async >= 2.0,
base == 4.*,
base-unicode-symbols >= 0.2,
configuration-tools >= 0.2.12,
enclosed-exceptions >= 1.0,
lens >= 4.7,
lifted-base >= 0.2,
tagged >= 0.7,
tasty >= 0.10,
tasty-hunit >= 0.9,
text >= 1.2,
transformers >= 0.3,
transformers-base >= 0.4,
void >= 0.7,
yet-another-logger
if !impl(ghc>=7.9)
build-depends:
nats >= 1
ghc-options: -Wall -threaded -with-rtsopts=-N
Executable example
default-language: Haskell2010
hs-source-dirs: example
main-is: Example.hs
build-depends:
base == 4.*,
Cabal >= 1.18,
yet-another-logger