packages feed

co-log-polysemy-formatting-0.1.1.0: co-log-polysemy-formatting.cabal

cabal-version:       2.4
name:                co-log-polysemy-formatting
version:             0.1.1.0
synopsis:            A Polysemy logging effect for high quality (unstructured) logs.
description:         co-log-polysemy-formatting builds on the co-log-polysemy package, adding terminal colours, log severity, timestamps, callers, thread ids, and a flexible log format with good defaults. It also allows you to use the formatting library for formatting your log messages.
homepage:         https://github.com/AJChapman/co-log-polysemy-formatting#readme
bug-reports:         https://github.com/AJChapman/co-log-polysemy-formatting/issues
license:             BSD-3-Clause
license-file:        LICENSE
author:              Alex Chapman
maintainer:          alex@farfromthere.net
copyright:           2020 Alex Chapman
category:            Logging
extra-source-files:  CHANGELOG.md
                     README.md
extra-doc-files:     example/output.png
tested-with:           GHC == 8.4.4
                     , GHC == 8.6.5
                     , GHC == 8.8.4
                     , GHC == 8.10.1

common deps
  build-depends:       base             >= 4.11.0.0 && < 5
                     , co-log          ^>= 0.4.0.1
                     , co-log-core     ^>= 0.2.1.1
                     , co-log-polysemy ^>= 0.0.1.1
                     , formatting      ^>= 7.1.0
                     , polysemy         >= 1.3.0.0 && < 1.6

-- Warnings list list taken from
-- https://medium.com/mercury-bank/enable-all-the-warnings-a0517bc081c3
-- Enable all warnings with -Weverything, then disable the ones we
-- don’t care about
  default-language:  Haskell2010
  ghc-options:       -Weverything
                     -Wno-all-missed-specialisations
                     -Wno-implicit-prelude
                     -Wno-missed-specialisations
                     -Wno-missing-exported-signatures
                     -Wno-missing-import-lists
                     -Wno-missing-local-signatures
                     -Wno-monomorphism-restriction
                     -Wno-missing-deriving-strategies
                     -Wno-safe
                     -Wno-unsafe
                     -fprint-potential-instances
  if impl(ghc >= 8.10)
    ghc-options:     -Wno-prepositive-qualified-module
                     -Wno-missing-safe-haskell-mode

library
  import: deps
  hs-source-dirs:    src
  default-language:  Haskell2010
  build-depends:       ansi-terminal   ^>= 0.10.3
                     , text             >= 0.11.0.8 && < 1.3
                     , time             >= 1.8.0.2 && < 1.10
  exposed-modules:   Colog.Polysemy.Formatting
                     Colog.Polysemy.Formatting.Color
                     Colog.Polysemy.Formatting.LogEnv
                     Colog.Polysemy.Formatting.Render
                     Colog.Polysemy.Formatting.ThreadTimeMessage
                     Colog.Polysemy.Formatting.WithLog

executable example
  import:            deps
  main-is:           Main.hs
  hs-source-dirs:    example
  default-language:  Haskell2010
  ghc-options:       -threaded
                     -rtsopts
                     -with-rtsopts=-N
                     -fplugin=Polysemy.Plugin
  build-depends:       co-log-polysemy-formatting
                     , polysemy-plugin ^>= 0.2.4.0

source-repository head
  type:     git
  location: https://github.com/AJChapman/co-log-polysemy-formatting