cabal-version:       >=1.10
name:                lumberjack
version:             1.0.1.0
synopsis:            Trek through your code forest and make logs
description:         This is a logging facility.  Yes, there are many, and this is the one
                     with a beard, wearing flannel and boots, that gets the job done.  It's
                     not the fanciest, it doesn't have a cargo-van full of features.  This
                     logger is designed to be straightforward to use, provide a good set of
                     standard features, and be useable across a broad set of code.
                     .
                     * Logging itself is a monadic activity.  This activity is most often
                       performed in a monad stack with a MonadIO context to allow
                       writing to files.
                     . 
                     * The specific logging action implementations are managed separately
                       from the actions of logging messages in the target code.  This
                       allows logging to be configurable and the manner of logging to
                       be specified at startup time without requiring changes in the
                       code from which log messages are being generated.
                     .
                     * The logging implementation code can use contravariant functors to
                       adjust existing logging.
                     .
                     * Main code will typically retrieve the logging actions from a Reader
                       context in your monad stack.  That said, Log actions are not tied
                       to an enclosing Monad.  There are helpers to support a Monad which
                       can store Log actions, but Log actions can also be explicitly
                       passed and used.
                     .
                     * The prettyprinter package is used for formatting.
                     
homepage:            https://github.com/GaloisInc/lumberjack
bug-reports:         https://github.com/GaloisInc/lumberjack/issues
license:             ISC
license-file:        LICENSE
author:              Kevin Quick
maintainer:          kquick@galois.com
copyright:           2020-2022, Galois Inc.
category:            Logging
build-type:          Simple
extra-source-files:  CHANGELOG.md

source-repository head
  type: git
  location: https://github.com/GaloisInc/lumberjack.git

library
  hs-source-dirs:    src
  exposed-modules:   Lumberjack
  build-depends:     base          >= 4.11 && <4.17
                   , contravariant >= 1.5 && < 1.6
                   , exceptions
                   , mtl
                   , prettyprinter >= 1.6 && < 1.8
                   , prettyprinter-ansi-terminal >= 1.1.1.2 && < 1.2
                   , text
                   , time
  default-language:  Haskell2010

executable example_log
  hs-source-dirs:   example
  main-is:          ExampleLog.hs
  default-language: Haskell2010
  build-depends:    base
                  , contravariant
                  , exceptions
                  , lumberjack
                  , mtl
                  , prettyprinter
                  , text